﻿/* 
Template Name: SmartMVP - Responsive Premium Startup Landing Page Template
Theme URL: http://themedept.com/demo/smartmvp/index.html
Description: SmartMVP - Responsive Premium Startup Landing Page Template
Author: ThemeDept
Author URL: http://themedept.com
Version: 1.2.0
Website: http://themedept.com
Tags: startup landing page, app landing page, html5 template, one page, startup, saas, mvp, landing page
*/



/* ------------------------------------------ */
/*             TABLE OF CONTENTS
/* ------------------------------------------ */

/*   01 - General Style                          */
/*   02 - Typography                             */
/*   03 - Buttons & Icons                        */
/*   04 - Header & Navigation                    */
/*   05 - Login/Signup Modal                     */
/*   06 - Sections Settings                      */
/*   07 - Testimonials                           */
/*   08 - Features Tab                           */
/*   09 - Fast Reg, Newsletter & Signup Divider  */
/*   10 - Charts & Showcase Section              */
/*   11 - hacemos Tabs                           */
/*   12 - Team Section                           */
/*   13 - Mobile Download Section                */
/*   14 - Footer                                 */


/* ==========================================================================
   01. GENERAL STYLE
========================================================================== */ 
/*------------------------------------------*/
/*	 Basic Settings
/*------------------------------------------*/
body {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    color: #727272;
    font-size: 16px;
    line-height: 28px;
    font-weight: 400;
    padding: 0;
    background-color: #ffffff;
}

.main-wrapper {
    overflow: hidden;
}

section{
    position: relative;
    overflow: hidden;
}

/*------------------------------------------------------------------*/
/*	 Internet Explorer 10 in Windows 8 and Windows Phone 8 Bug fix
/*-----------------------------------------------------------------*/
@-webkit-viewport { 
	width: device-width; 
}

@-moz-viewport { 
	width: device-width; 
}

@-ms-viewport { 
	width: device-width; 
}

@-o-viewport { 
	width: device-width; 
}

@viewport { 
	width: device-width; 
}

/*------------------------------------------*/
/*	 Link 
/*------------------------------------------*/
a {
	-webkit-transition: all 250ms ease-in-out;
	-moz-transition: all 250ms ease-in-out;
	-o-transition: all 250ms ease-in-out;
	-ms-transition: all 250ms ease-in-out;
	transition: all 250ms ease-in-out;
}

a:hover, a:focus {
	color: #3e3e3e;
	text-decoration: none;
}

/*------------------------------------------*/
/*	 Lists
/*------------------------------------------*/
ul {
	padding-left: 0;
	list-style: none;
}

/*------------------------------------------*/
/*	 Backgrounds
/*------------------------------------------*/
.light-bg{
	background-color: #1a1a1a;
}

/* Texto e tÃ­tulos em blocos escuros (.light-bg) */
.light-bg h2, .light-bg h3, .light-bg h4, .light-bg h5, .light-bg h6,
.light-bg p, .light-bg .large, .light-bg .mobile-text {
    color: #e8e8e8;
}

.light-bg a:not(.btn) {
    color: #c9a227;
}

.light-bg a:not(.btn):hover {
    color: #d4af37;
}

.light-bg .btn-grey {
    background: transparent;
    color: #c9a227;
    border-color: #5c636e;
}

.light-bg .btn-grey:hover {
    background: #5c636e;
    color: #c9a227;
    border-color: #5c636e;
}

.dark-bg{
    background-color: #0d0d0d;
}

.white-bg{
    background-color: #ffffff;
}

/*------------------------------------------*/
/*	 Overlay Effect
/*------------------------------------------*/
.overlay{
    /* Provides cross-browser RGBa background */
    zoom: 1;
    filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#80000000', endColorstr='#80000000');
    background: transparent;
    background: rgba(51, 51, 51, 0.5);
}

/* set filter as none for IE9+, because IE9+ support RGBa */
:root .overlay {
    filter: none\0/IE9;
}

/*------------------------------------------*/
/*   Form Settings
/*------------------------------------------*/
.form-group {
    margin-bottom: 25px;
}

.control-label {
    display: block;
    font-size: 13px;
    line-height: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 7px 0;
    color: #3e3e3e;
}

.form-control {
    display: inline-block;
    width: 100%;
    height: 39px;
    padding: 9px;
    font-size: 13px;
    line-height: 17px;
    color: #3e3e3e;
    background-color: transparent;
    background-image: none;
    border: 2px solid #cb6060;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    -webkit-transition: none;
    -o-transition: none;
    -moz-transition: none;
    transition: none;
}

/*------------------------------------------*/
/*   Modal Settings
/*------------------------------------------*/
.modal-content {
    text-align: center;
}

/*------------------------------------------*/
/*   Notifications
/*------------------------------------------*/
.signup-success,.signup-failed,.lm-success,.lm-failed,.sm-success,.sm-failed,.fast-failed,.fast-success,.subscription-success,.subscription-failed,.mc-success,.mc-failed{
    display: none;
    margin-top: 5px;
}

.lm-success,.sm-success{
    color:#27ae60;
}

.signup-success,.signup-failed,.fast-success,.fast-failed,.subscription-success,.subscription-failed,.mc-success,.mc-failed {
    color:#ffffff;
}

.lm-failed,.sm-failed{
    color:#c0392b;
}

/*------------------------------------------*/
/*	 Blockquote
/*------------------------------------------*/
blockquote {
    border: 0;
    padding: 0 20px;
}

blockquote:before {
    height: 0;
    float: left;
    position: relative;
    top: 14px;
    left: -30px;
    content: "â€œ";
    font-family: Georgia, Times, "Times New Roman", serif;
    font-size: 50px;
    color: #999;
}

blockquote img {
	float: left;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	height: 75px;
	width: 75px;
	margin-right: 15px;
}

/*------------------------------------------*/
/*   Wrappers & Boxes
/*------------------------------------------*/
.wrapper-lg{
    padding: 120px 0;
}

.wrapper-md{
    padding: 80px 0;
}

.wrapper-sm{
    padding: 50px 0;
}

.wrapper-xs{
    padding: 20px 0;
}

/* vertical align */
.vmiddle{
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*------------------------------------------*/
/*   Preloader
/*------------------------------------------*/
.preloader{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    height: 100%;
    width: 100%;
    text-align: center;
    overflow: hidden !important;
}

.loader-container{
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -20px 0 0 -80px;
}

.signal {
    display: inline-block;
    border: 3px solid #fff;
    border-radius: 30px;
    height: 30px;
    opacity: 0;
    width: 30px;
    margin-top: 10px;
    -webkit-animation: pulsate 1s ease-out;
    -moz-animation: pulsate 1s ease-out;;
    -webkit-animation-iteration-count:infinite;
    -moz-animation-iteration-count:infinite;
}

@-webkit-keyframes pulsate {
    0% {
      transform:scale(.1);
      opacity: 0.0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform:scale(1.2);
      opacity: 0;
    }
}

@-moz-keyframes pulsate {
    0% {
      transform:scale(.1);
      opacity: 0.0;
    }
    50% {
      opacity: 1;
    }
    100% {
      transform:scale(1.2);
      opacity: 0;
    }
}

/*------------------------------------------*/
/*   New Venobox Close Icon
/*------------------------------------------*/
.vbox-close {
    top: 5px;
    right: 8px;
    width: 60px;
    height: 50px;
    background: url(../images/venobox/close.gif) no-repeat #161617;
}

/*------------------------------------------*/
/*   Text-Logo
/*------------------------------------------*/
.text-logo{
    font-family: 'Raleway','Open Sans',Helvetica,Arial,sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 19px;
    line-height: 21px;
    color: #ffffff;
}


/* ==========================================================================
   02. TYPOGRAPHY
========================================================================== */
h1, h2, h3, h4 {
 	font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
 	margin: 0 0 20px;
    color: #3e3e3e;
    letter-spacing: -1px;
}

h1 {
    font-size: 48px;
    line-height: 52px;
    font-weight: 300;
}

h2 {
    font-size: 42px;
    line-height: 46px;
    font-weight: 300;
    text-align: center;
}

h3 {
    font-size: 33px;
    line-height: 36px;
    font-weight: 300;
}

h4 {
    font-size: 23px;
    line-height: 32px;
    font-weight: 400;
    color: #353535;
}

h5 {
    font-family: "Raleway", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #3e3e3e;
}

b, strong {
    font-weight: 400;
}

p {
    margin: 0;
}

.large{
	font-size: 18px;
    line-height: 25px;
    margin-bottom: 50px;
    font-weight: 400;
    text-align: center;
}

.text-white {
    color: #ffffff;
}


/* ==========================================================================
   03. BUTTONS & ICONS
========================================================================== */ 
.btn {
 	font-family: "Raleway", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 11px;
 	line-height: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    -o-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
    margin-right: 15px;
    margin-bottom: 5px;
    border-radius: 5px;
    display: inline-block;
    padding: 14px 28px 13px 28px;
    border:2px solid;
}

.btn:focus {
 	outline: none;
}

.btn:hover {
 	text-decoration: none;
}

.btn>i {
    font-size: 15px;
    margin-right: 5px;
    vertical-align: text-bottom;
}

.btn-box {
    padding:20px 0;
}

/*------------------------------------------*/
/*	 Buttons Color
/*------------------------------------------*/
.btn-ghost {
	background: transparent;
	color: #ffffff;
	border-color: #ffffff;
}

.btn-ghost:hover {
	background: #ffffff;
	color: #3e3e3e;
	border-color: #ffffff;
}

.btn-white {
	background: #ffffff;
	color: #c0392b;
	border-color: #ffffff;
}

.btn-white:hover {
    background: #c0392b;
    color: #3e3e3e;
    border-color: #c0392b;
}

.btn-grey {
	color: #3e3e3e;
	background-color: transparent;
	border-color: #7f8c8d;
}

.btn-grey:hover {
	color: #3e3e3e;
	border-color: #3e3e3e;
	background-color: transparent;
}

/*------------------------------------------*/
/*	 Icons Style
/*------------------------------------------*/
.icon-lg, .icon-sm {
    transition: all .2s ease;
    -webkit-transition: all .2s ease;
    -o-transition: all .2s ease;
    -moz-transition: all .2s ease;
    color: #3e3e3e;
}

.icon-lg {
    font-size: 48px;
}

.icon-sm {
    font-size: 40px;
}


/* ==========================================================================
   04. HEADER & NAVIGATION
========================================================================== */
/*------------------------------------------*/
/*   Header Background + Hero Carousel
/*------------------------------------------*/
.header{
    position: relative;
    background: #000; /* fallback */
}

.hero-slider{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 800px; /* garante altura visÃ­vel do carrossel */
    z-index: 0;
}

.hero-slide{
    width: 100%;
    height: 800px; /* mesmo valor da overlay para cobrir todo o header */
    background-repeat: no-repeat;
    background-position: center top;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
}

.header .overlay {
    position: relative;
    z-index: 1;
    height: 800px;
    background: rgba(0,0,0,0.55);
}

/*------------------------------------------*/
/*   Navbar General Settings
/*------------------------------------------*/
.navbar{
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

/* Alinha os textos do menu com o escrito "ClÃ­nica Cruz" da logo */
@media (min-width: 768px) {
    /* Altura fixa da logo = mesma altura usada nos links (alinhamento visual) */
    .navbar .navbar-brand.img-logo {
        display: flex;
        align-items: center;
        height: 72px;
    }
    .navbar .navbar-brand.img-logo img {
        max-height: 72px;
        width: auto;
        height: auto;
        object-fit: contain;
        vertical-align: middle;
    }
    .navbar .container .row > [class*="col"] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        float: none;
    }
    .navbar .navbar-header,
    .navbar .navbar-collapse {
        float: none;
        display: flex;
        align-items: center;
    }
    .navbar .navbar-collapse {
        justify-content: flex-end;
    }
    .navbar-nav {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }
    /* Mesma altura que a logo: texto do menu fica alinhado ao escrito da logo */
    .navbar-nav > li > a {
        line-height: 72px;
        padding-top: 0;
        padding-bottom: 0;
    }
    .navbar-nav > li > a.btn-nav {
        line-height: 1.4;
        margin-top: 0;
        margin-bottom: 0;
        padding: 8px 15px;
    }
}

.navbar-fixed-top {
    padding-top: 25px;
    padding-bottom: 25px;
}

.navbar-fixed-top.is-scrolling{
    background: #0d0d0d;
    background: rgba(13,13,13,0.75);
    border: 0;
    padding-top: 18px;
    padding-bottom: 45px;
}

/* Navbar sempre visÃ­vel nas pÃ¡ginas legais (fundo claro) */
body.legal-page .navbar-fixed-top{
    background: #0d0d0d;
    background: rgba(13,13,13,0.75);
    border: 0;
}

/* Quando a barra estÃ¡ em modo "scrolando", afasta toda a barra do topo,
   mantendo logo e tÃ­tulos dos menus alinhados verticalmente */
.navbar-fixed-top.is-scrolling .navbar-brand.img-logo{
    margin-top: 0;
}

.navbar-right{
    float: right;
    text-align: right;
}

/* Img-Logo Fixes */
.navbar-brand.img-logo{
    padding:0;
}

/* Language switch flags in navbar */
.nav-lang .lang-flag{
    display: inline-block;
    margin-left: 10px;
    height: 18px;
    width: auto;
    vertical-align: middle;
}

.nav-lang a:hover .lang-flag{
    filter: brightness(1.2);
}

/* Language dropdown (4 idiomas) */
.nav-lang.dropdown > a.dropdown-toggle{
    padding-top: 15px;
    padding-bottom: 15px;
    cursor: pointer;
}
.nav-lang.dropdown > a.dropdown-toggle .caret{
    margin-left: 6px;
    border-top-color: #c9a227;
}
.nav-lang.dropdown > a.dropdown-toggle,
.nav-lang.dropdown > a.dropdown-toggle:hover,
.nav-lang.dropdown > a.dropdown-toggle:focus,
.navbar-nav > .open.nav-lang > a,
.navbar-nav > .open.nav-lang > a:hover,
.navbar-nav > .open.nav-lang > a:focus{
    background: transparent !important;
}
.nav-lang .dropdown-menu{
    background: rgba(36, 41, 49, 0.10);
    border: 1px solid rgba(201, 162, 39, 0.35);
}
.nav-lang .dropdown-menu > li > a.lang-option{
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    color: #ffffff;
}
.nav-lang .dropdown-menu > li > a.lang-option:hover,
.nav-lang .dropdown-menu > li > a.lang-option:focus{
    color: #ffffff;
    background: rgba(92, 99, 110, 0.70) !important;
}
.nav-lang .dropdown-menu .lang-flag{
    margin-left: 0;
    flex-shrink: 0;
}

/*------------------------------------------*/
/*   Hero Video Modal
/*------------------------------------------*/
.video-modal{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: none;
}

.video-modal-backdrop{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
}

.video-modal-content{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #2b2f36;
    padding: 15px;
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.6);
    max-width: 900px;
    width: 90%;
}

.video-modal-player{
    width: 100%;
    height: auto;
    display: block;
}

.video-modal-close{
    position: absolute;
    top: 5px;
    right: 10px;
    background: transparent;
    border: 0;
    color: #ffffff;
    font-size: 24px;
    line-height: 24px;
    cursor: pointer;
}

.about-modal-content{
    max-width: 700px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 30px 35px;
}

.about-modal-content h3{
    font-size: 22px;
    margin-bottom: 18px;
}

.about-modal-content p{
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 12px;
}

/*------------------------------------------*/
/*   Navbar Links Menu
/*------------------------------------------*/
.navbar-nav>li>a{
    font-family: 'Raleway','Open Sans',Helvetica,Arial,sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 15px;
    color: #ffffff;
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    -moz-transition: all .5s ease;
    transition: all .5s ease;
}

.navbar-nav>li>a:hover, .navbar-nav>li>a:focus, .navbar-nav>.active>a, .navbar-nav>.active>a:hover, .navbar-nav>.active>a:focus{
    color: #ffffff;
    background-color: transparent;
}

/*------------------------------------------*/
/*   Navbar Mobile Menu
/*------------------------------------------*/
.navbar-toggle, .navbar-toggle:hover, .navbar-toggle:focus {
    background-color: transparent;
}

.navbar-toggle {
    color: #ffffff;
    padding: 0; 
    margin-top: 13px;
    margin-bottom: 0;
    font-size:26px;
}

.navbar-collapse {
    box-shadow:none;
    border:0;
}

/*------------------------------------------*/
/*   Navbar Buttons
/*------------------------------------------*/
.navbar-nav>li>a.btn-nav {
    margin: 6px 0 10px 15px;
    padding: 7px;  
}

.navbar-nav>li>a.btn-nav:hover, .navbar-nav>li>a.btn-nav:focus {
    background: #ffffff;
    color: #3e3e3e;
    border-color: #ffffff;
}

/*------------------------------------------*/
/*   Hero-Section
/*------------------------------------------*/
.hero-section .btn-color:hover{
    border-color: #ffffff;
}

.hero-section p{
    font-size: 21px;
    line-height: 27px;
    letter-spacing: -1px;
    margin-bottom: 35px;
}

.hero-section .btn-box{
    padding: 0;
}

.hero-section .btn{
    margin-bottom: 0;
} 

/*------------------------------------------*/
/*   Header Solid-Background
/*------------------------------------------*/
.solid-bg .overlay {
    background: none;
}

.solid-bg .btn-white:hover{
    border-color:#ffffff;
    color:#ffffff;
}

/*------------------------------------------*/
/*   Header App
/*------------------------------------------*/
.hero-app .hero-section{
    padding-top: 20%;
}

/*------------------------------------------*/
/*   Header Type
/*------------------------------------------*/
.type h1{
    line-height: 59px;
}

/*------------------------------------------*/
/*   Header Video Background
/*------------------------------------------*/
.header.video-bg{
    background: transparent;
}

/*------------------------------------------*/
/*   Header Video Background
/*------------------------------------------*/
.header.youtube-bg .overlay {
    height: 650px;
}

/*------------------------------------------*/
/*   Header Slider
/*------------------------------------------*/
.header.slider{
    background: none;  
}

.header.slider .overlay{
    height: 100%;
}

.slider-text{
    display: block;
}

/*------------------------------------------*/
/*   Header Dashboard
/*------------------------------------------*/
.header.dashboard .overlay{
    overflow:hidden;
}

.dashboard .hero-section{
    padding-top: 25%;
}

.image-dashboard {
    overflow: hidden;
    padding-top: 30px;
}

.image-dashboard img {
    max-width: 85%;
}



/* ==========================================================================
   05. LOGIN/SIGNUP MODAL
========================================================================== */ 
.login .modal-dialog{
    width: 400px;
    margin-top: 105px;
}

.login .modal-content{
    background-color: #fcfcfc;
    border-radius:6px;
}

.login .modal-header {
    padding: 15px 15px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.login .modal-header .close{
    color:#3e3e3e;
    opacity:0.7;
}

.login .modal-header .close:hover{
    opacity:1;
}

.login .modal-header .close i{
    font-weight:bold;
}

.login .modal-header .close:focus{
    outline:none;
}

.login .modal-header .modal-title{
    font-weight: 400;
    font-size: 25px;
    line-height: 29px;
    margin-top: 10px;
    margin-left: 25px;
}

.login .modal-header .modal-subtitle{
    font-weight: 300;
    font-size: 14px;
    line-height: 17px;
    color: #3e3e3e;
    margin-bottom: 0;
    margin-top: 5px;
}

.login .form-control{
    margin: 5px auto;
}

.login .btn{
    width: 100%;
    margin: 5px 0 0;
}

.login .btn-color:hover{
    color: #c9a227;
    background-color: #5c636e;
    border-color: #5c636e;
}

.login .modal-footer{
    border-top: 0;
    margin-top: 0;
    padding: 10px 20px 20px;
}

.login .forgot{
    color: #3e3e3e;
    margin-left: 0;
    overflow: hidden;
    text-align: center;
    width: 100%;
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
}

.modal-body {
    padding: 20px 50px;
}


/* ==========================================================================
   06. SECTIONS SECTIONS
========================================================================== */ 
/*------------------------------------------*/
/*   About - Intro Features
/*------------------------------------------*/
.intro-features {
    text-align: center;
}

.intro-features .icon-lg{
    margin-bottom: 20px;
}

.intro-features .icon-lg img{
    max-width: 64px;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: all .2s ease;
}

.intro-features .intro-content:hover .icon-lg img{
    /* fundo amarelo padrÃ£o + leve brilho no Ã­cone */
    filter: brightness(1.1);
}

.intro-features .intro-content h4{
    transition: color .2s ease;
}

.intro-features .intro-content:hover h4{
    color: #c9a227;
}

.intro-features .col-xs-12 p.large{
    text-align: justify;
}

.intro-features .icon-lg i{
    color: #e8e8e8;
}

.intro-features .icon-lg i:hover{
    color: #c9a227;
}

/*------------------------------------------*/
/*   Image with Action
/*------------------------------------------*/
.img-with-action .btn-color:hover{
    background: transparent;
}

.img-with-action .btn-box{
    padding-bottom: 0;
}

.img-col-bg{
    position: absolute;
    height: 100%;
    padding: 0;
    top: 0;
}

/* light img overlay*/
.img-col-bg:before{
    opacity: 0.2;
    position: absolute;
    content: ' ';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #b0babf;
}

.img-right {
    right: 0;
    background: url(../images/fotos/drlucio1.png) 50% 0 no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
}

/* Mesma cor de fundo que o bloco de testemunhos */
.tab-features.color-bg{
    background-color: #1a1a1a;
}


/* ==========================================================================
   07. TESTIMONIALS
========================================================================== */ 
/*------------------------------------------*/
/*   Testimonial-Press Section
/*------------------------------------------*/
.testimonial-press {
    height: 600px;
}

.testimonial-press blockquote{
    text-align: center;
    padding: 0 8%;
}

.testimonial-press blockquote:before{
    display: none;
}

.testimonial-press blockquote img{
    float: none;
    margin: 20px auto 12px;
    display: block;
}

.testimonial-press .testimonial-name{
    text-align: center;
    min-height: 75px;
    margin: 20px auto 0;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.testimonial-nav{
    margin-top: 10px;
}

.testimonial-nav-btn{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid #c9a227;
    background: transparent;
    color: #c9a227;
    margin: 0 6px;
    line-height: 1;
    transition: all .2s ease;
}

.testimonial-nav-btn:hover{
    background: #c9a227;
    color: #fff;
}

.testimonial-name {
    padding-top: 25px;
    font-size: 13px;
    line-height: 16px;
}

.testimonial-name span {
    display: block;
    font-weight: 600;
    color: #c9a227;
    font-size: 14px;
}

.testimonial-press .etabs img {
    margin-top: 30px;
    max-width: 122px;
    opacity: 0.3;
}

.testimonial-press .etabs .active img {
    opacity: 1;
}


/* ==========================================================================
   08. FEATURES TAB
========================================================================== */ 
.tab-features .features-title{
    padding-top: 120px;
    text-align: center;
}

.tab-features .large{
    margin-bottom: 90px;
}

.tab-features .panel-container{
    background-color: #ffffff;
}

.tab-features .etabs{
    display: table;
    text-align: center;
    margin: 0 auto;
}

.tab-features .etabs .tab{
    display: table-cell;
    padding: 0 70px 50px 0;
    opacity: 0.5;
    position: relative;
}

.tab-features .etabs .tab:last-child{
    padding-right: 0;
}

.tab-features .etabs .tab.active{
    opacity: 1;
}

.tab-features .etabs .tab.active:before{
    content: " ";
    position: absolute;
    left: 50%;
    bottom: -2px;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 12px solid #f9f9fa;
    border-style: none double solid;
    width: 0;
    height: 0;
    display: block;
}

.etabs .icon-sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    margin-right: 10px;
    vertical-align: middle;
    color: #c9a227;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.etabs .icon-sm .service-tab-icon{
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
    object-fit: contain;
    display: block !important;
    margin: 0 auto !important;
    vertical-align: middle;
    /* Dourado original do site */
    filter: brightness(0) saturate(100%) invert(70%) sepia(35%) saturate(662%) hue-rotate(8deg) brightness(90%) contrast(91%);
}

/* Ajuste individual do Ã­cone de Medicina estÃ©tica */
.etabs .icon-sm .service-tab-icon-estetica{
    transform: translateX(4px);
}

/* MantÃ©m comportamento de clique limpo como o original */
.tab-features .etabs .tab a,
.tab-features .etabs .tab a:focus,
.tab-features .etabs .tab a:active{
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none;
}

/* Regra de seguranÃ§a para evitar qualquer escala global de img */
.tab-features .etabs .icon-sm img{
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    max-height: 80px !important;
}

.etabs .icon-sm:hover {
    color: #ffffff;
}

.tab-features .etabs h5{
    /* mantÃ©m o texto dos tÃ­tulos dos serviÃ§os sempre em dourado */
    color: #c9a227;
}

.tab-features .etabs .active h5, .tab-features .etabs .active i {
    color: #c9a227;
}

.tab-features .tab-content {
    overflow:hidden !important;
    height: 700px;
    padding-top: 100px;
}

.tab-content h4 {
    font-size: 24px;
    line-height: 30px;
}

.tab-content p{
    margin-bottom: 20px;
}

.tab-icon {
    margin-bottom: 20px;
}

.tab-icon .icon-sm{
    width: 60px;
    margin-bottom: 10px;
    display: inline-block;
}

.tab-icon .large{
    margin-bottom: 10px;
    display: inline-block;
    color: #3e3e3e;
    font-size: 20px;
    position: relative;
    bottom: 10px;
}

.img-device{
    width: 100%;
}

/*single feature-tab fixes*/
/* 2col text left with buttons, image right */
#tab-feature-1 .btn-box{
    padding: 0;
}


/* ==================================================================================
   09. NEWSLETTER, FAST-REGISTRATION HEADER & SIGNUP DIVIDER SECTIONS
=================================================================================== */ 
/* Newsletter */
.newsletter .table{
    display: table;
    width: 100%;
    margin: 0;
}

.newsletter .table-row{
    display: table-row;
}

.newsletter .follow{
    width: 120px;
}

.newsletter .getnewsletter{
    width: 190px;
}

.newsletter .table-cell {
    display: table-cell;
    vertical-align: middle;
}

.newsletter .table-title {
    font-size: 14px;
    line-height: 16px;
    color: #ffffff;
    opacity: 0.8;
}

.newsletter .follow-inline{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.newsletter .follow-inline .table-title{
    margin: 0;
    opacity: 1;
}

.newsletter .social-list{
    display: flex;
    margin: 0;
    list-style: none;
    text-align: left;
    padding-left: 0;
    align-items: center;
}

.newsletter .social-list>li {
    float: none;
    display: block;
    margin: 0 8px;
}

.newsletter .social-list>li a{
    font-size: 32px;
    color: #c9a227;
    text-align: center;
}

.newsletter .social-list>li a:hover{
    color: #ffe08a;
}

.newsletter .input-group .form-control{
    background: transparent;
    border-color: #ffffff;
    font-weight: 400;
    font-size: 14px;
    height: 50px;
    color: #fff;
}

.newsletter .form-control:focus{
    box-shadow: none;
}

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

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

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

.newsletter .btn{
    padding: 16px 28px 15px 28px;
    margin-right:0;
}

.newsletter .btn:hover{
    background: #4a5058;
    color: #c9a227;
    border-color: #5c636e;
}

.newsletter .subscription-success, .newsletter .subscription-failed {
    font-weight: 600;
    color: #ffffff;
}

.newsletter .subscription-success i, .newsletter .subscription-failed i{
    margin-right: 5px;
}

/* Signup Divider */
.signup-divider{
    text-align: center;
}

.signup-divider h2{
    font-weight: 400;
}

.signup-handwritten {
    font-family: 'Handlee', cursive;
    position: absolute;
    -moz-transform: rotate(-7deg);
    -o-transform: rotate(-7deg);
    -ms-transform: rotate(-7deg);
    -webkit-transform: rotate(-7deg);
    transform: rotate(-7deg);
    right: 0;
    bottom: 30px;
    font-size: 21px;
}

/* CTA centralizado no bloco "Pide tu cita" */
.signup-divider .signup-handwritten{
    position: relative;
    right: auto;
    bottom: auto;
    transform: rotate(-7deg);
    -moz-transform: rotate(-7deg);
    -o-transform: rotate(-7deg);
    -ms-transform: rotate(-7deg);
    -webkit-transform: rotate(-7deg);
    display: inline-block;
    margin: 16px auto 0;
    left: 96px;
    text-align: left;
    padding-left: 48px;
    line-height: 1.15;
}

.signup-handwritten:before {
    content: "";
    position: absolute;
    left: -32px;
    top: 16px;
    background-repeat: no-repeat;
    background-image: url(../images/arrow-hand.png);
    background-size: 31px 55px;
    background-position: center center;
    width: 31px;
    height: 54px;
}

.signup-divider .signup-handwritten:before{
    display: block;
    left: 15px;
    top: 14px;
}

.signup-divider .signup-cta-row{
    margin-top: 26px;
}

.signup-divider canvas{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
}

.signup-divider .form-group,.fast-reg .form-group{
    width:25%;
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 0;
}

.signup-divider .form-control,.fast-reg .form-control{
    background: transparent;
    border-color: #ffffff;
    font-weight: 400;
    font-size: 14px;
    height: 50px;
    color:#fff;
}

.signup-divider .btn{
    margin-bottom: 0;
    margin-right: 0;
    font-size: 15px;
    padding: 16px 28px 15px;
}

/* Mesmo padrÃ£o visual do botÃ£o do bloco "Â¿CuÃ¡l es nuestro POR QUÃ‰?" */
.signup-divider .btn.signup-cta-match{
    font-size: 13px;
    padding: 11px 35px;
}

.fast-reg .btn{
    margin-bottom: 0;
    font-size: 13px;
    padding: 16px 28px 15px;
}

.signup-divider .btn:hover,.fast-reg .btn:hover{
    border-color: #ffffff;
}

.signup-divider .btn.signup-cta-match:hover{
    background: transparent;
}

.signup-divider .btn i,.fast-reg .btn i{
    font-size: 16px;
    margin-right: 8px
}

.signup-divider .btn.signup-cta-match i{
    margin-right: 0;
}

.signup-divider.dark-bg {
    z-index: 0;
    background-color: #2f343c;
}

.signup-divider .form-control::-moz-placeholder {
    color: #c9a227;
    opacity: 0.85;
}

.signup-divider .form-control:-ms-input-placeholder {
    color: #c9a227;
}

.signup-divider .form-control::-webkit-input-placeholder {
    color: #c9a227;
    opacity: 0.85;
}

.signup-divider .form-container{
    background-color: #1a1a1a;
    background-color: rgba(26,26,26,0.85);
    padding: 10px 0;
    margin: 0 auto;
    width: 70%;
    border-radius: 6px;
}

/* Fast-reg Fixes */
.fast-reg .hero-section{
    text-align: center;
}

.fast-reg .form-control{
    background: #ffffff;
    border-color: #ffffff;
    font-weight: 400;
    font-size: 14px;
    height: 50px;
    color: #333;
}


/* ==========================================================================
   10. CHARTS SECTION
========================================================================== */ 
.charts p{
    margin-bottom: 20px;
}

.charts p.large{
    margin-bottom: 70px;
}

.charts h4{
    font-size: 24px;
    line-height: 30px;
}

.process-box{
    margin-bottom: 100px;
    padding-top: 24px;
}

.process-flow{
    position: relative;
    min-height: 442px;
    max-width: 476px;
    margin: 0 auto;
    padding-top: 14px;
    padding-bottom: 151px;
    overflow: visible;
    --ring-cy: 191px;
    /* Raio do anel = 180px; bolinhas e rÃ³tulos claramente fora do tracejado */
    --orbit-r: 194px;
}

.process-orbit{
    position: absolute;
    left: 50%;
    top: var(--ring-cy);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    z-index: 2;
}

.process-ring{
    position: absolute;
    top: 38px;
    left: 50%;
    width: 306px;
    height: 306px;
    margin-left: -153px;
    border: 2px dashed #4a5058;
    border-radius: 50%;
    transform: scale(0.9);
    opacity: 0.65;
    transition: all .45s ease;
    z-index: 1;
}

.process-flow.is-active .process-ring{
    transform: scale(1);
    opacity: 1;
    border-color: #323a45;
}

.process-center{
    position: absolute;
    top: 145px;
    left: 50%;
    width: 145px;
    margin-left: -73px;
    padding: 19px 9px;
    text-align: center;
    background: #323a45;
    border-radius: 100px;
    color: #c9a227;
    box-shadow: 0 12px 30px rgba(50,58,69,0.25);
    z-index: 5;
}

.process-center strong{
    display: block;
    font-family: "Raleway", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
    line-height: 1.1;
    color: #c9a227;
}

.process-center span{
    font-size: 11px;
    color: #c9a227;
    opacity: 0.92;
}

.process-stage{
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    overflow: visible;
    cursor: pointer;
    opacity: 0;
    transition: opacity .4s ease;
}

.process-flow.is-active .process-stage{
    opacity: 1;
}

.process-stage.stage-1{ transition-delay: .08s; }
.process-stage.stage-2{ transition-delay: .16s; }
.process-stage.stage-3{ transition-delay: .24s; }
.process-stage.stage-4{ transition-delay: .32s; }
.process-stage.stage-5{ transition-delay: .40s; }

.stage-radial{
    position: absolute;
    left: 0;
    top: 0;
    width: 15px;
    height: 15px;
    margin-left: -8px;
    margin-top: -8px;
    transform: rotate(var(--a, 0deg)) translateY(calc(-1 * var(--orbit-r))) rotate(calc(-1 * var(--a, 0deg)));
    transform-origin: center center;
}

.stage-radial h5{
    position: absolute;
    left: 50%;
    bottom: calc(100% + 31px);
    transform: translate(-50%, 72px);
    margin: 0;
    width: max-content;
    max-width: 129px;
    text-align: center;
    font-size: 13px;
    line-height: 1.25;
    color: #323a45;
    font-weight: 400;
}

/* Ajustes finos individuais para alinhamento manual */
.stage-radial h5.stage-label-prevenir{
    transform: translate(-26%, 72px);
}

.stage-radial h5.stage-label-aperfeicoar{
    transform: translate(-76%, 72px);
}

.stage-radial .stage-dot{
    position: absolute;
    left: 0;
    top: 0;
}

.stage-dot{
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #c9a227;
    box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.35);
    transition: all .25s ease;
}


.process-stage:hover .stage-dot,
.process-stage.is-selected .stage-dot{
    background: #c9a227;
    box-shadow: 0 0 0 7px rgba(201, 162, 39, 0.2);
}

.process-stage:hover h5,
.process-stage.is-selected h5{
    color: #c9a227;
}

.process-detail{
    position: absolute;
    left: 50%;
    bottom: -49px;
    width: 92%;
    max-width: 434px;
    transform: translateX(-50%);
    background-color: #323a45;
    border: 2px solid #2a3138;
    border-radius: 7px;
    padding: 14px 15px;
    text-align: center;
    color: #c9a227;
    font-family: "Raleway", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
    z-index: 6;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.22);
}

/* ==========================================================================
   11. PRICING TABS (alinhamento dos botÃµes \"Pedir cita\")
========================================================================== */ 
.pricing-tab {
    padding: 50px 30px 30px;
    border-radius: 7px;
    background-color: #1a1a1a; /* fundo escuro para contraste */
    color: #e8e8e8;           /* texto claro visÃ­vel */
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.pricing-tab p.price{
    font-size: 32px;
    letter-spacing: -1px;
    margin-bottom: 15px;
    font-weight: 300;
}

.pricing-tab h4 {
    margin: 0 20px 20px;
    padding-bottom: 5px;
}

.pricing-tab .pricing-features{
    margin-bottom: 25px;
}

.pricing-tab .btn{
    margin-top: auto;
    padding:11px 35px;
    font-size:13px;
}

.line-canvas{
    width:100%;
}

/*------------------------------------------*/
/*   Showcase Item with Video Button
/*------------------------------------------*/
.showcase .video-player{
    position: absolute;
    top: 37%;
    left: 54%;
    color: #ffffff;
    font-size: 55px;
}

.showcase .video-player:hover{
    opacity: 0.6;
}

/* ==========================================================================
   11. hacemos TABS
========================================================================== */ 
.hacemos-tab {
    padding: 50px 30px 30px;
    border-radius: 7px;
    color:#333333;
    text-align: center;
    position: relative;
}

.hacemos-tab p.price{
    font-size: 56px;
    letter-spacing: -2px;
    margin-bottom: 30px;
    font-weight: 300;
}

.hacemos-tab p.price span {
    font-size: 22px;
}

.hacemos-tab h4 {
    margin: 0 60px 30px;
    padding-bottom: 5px;
}

.hacemos-tab .btn{
    padding:11px 35px;
    font-size:13px;
}

.hacemos-tab .btn:hover {
    background: #333333;
    color: #fff;
    border-color: #333333;
}

.hacemos-tab .ribbon {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 115px;
    height: 115px;
    overflow: hidden;
}

.hacemos-tab .ribbon .popular{
    position: relative;
    left: -8px;
    top: 18px;
    width: 158px;
    padding: 10px 10px;
    color: #fff;
    -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
    -moz-transform: rotate(45deg) translate3d(0, 0, 0);
    -ms-transform: rotate(45deg) translate3d(0, 0, 0);
    -o-transform: rotate(45deg) translate3d(0, 0, 0);
    transform: rotate(45deg) translate3d(0, 0, 0);
}

.hacemos-tab .ribbon .popular:after, .hacemos-tab .ribbon .popular:before{
    content: '';
    position: absolute;
    bottom: -5px;
    border-top: 5px solid #3e3e3e;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

.hacemos-tab .ribbon .popular:before{
    left: 0;
}

.hacemos-tab .ribbon .popular:after{
    right: 0;
}

.hacemos-features{
    margin-bottom: 30px;
}

.hacemos-features li{
    padding: 3px 0;
    font-size: 16px;
    font-weight: 400;
}

.hacemos-features li span{
    display:block;
    font-weight: 300;
}

.hacemos-more {
    margin-top:30px;
    padding-left: 15px;
}

.hacemos-more strong {
    color: #333333;
}

.hacemos-more i{
    vertical-align: baseline;
}


/* ==========================================================================
   12. TEAM SECTION
========================================================================== */ 
.team h4{
    margin-top: 20px;
}

.team-img{
    position: relative;
    overflow: hidden;
    perspective: 300px;
    -webkit-perspective: 300px;
    -ms-perspective: 300px;
    -o-perspective: 300px;
    -webkit-border-radius: 5%;
    -moz-border-radius: 5%;
    border-radius: 5%;
    opacity:0.85;
}

.team-img .img-overlay{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    opacity: 0;
    background: rgba(27,27,27,.7);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
}

.team-img:hover .img-overlay{
    opacity: 1;
}

.team-img:hover img{
    -ms-transform: scale(1.5,1.5);
    -moz-transform: scale(1.5,1.5);
    -o-transform: scale(1.5,1.5);
    -webkit-transform: scale(1.5,1.5);
    transform: scale(1.5,1.5);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
}

.team-img .img-icons {
    width: 100%;
    height: 100%;
    text-align: center;
}

.team-img .img-icons span{
    display: inline-block;
    position: relative;
    top: 33%;
    margin: 0 3%;
}

.team-img .img-icons .icon-white a{
    color:#ffffff;
}

.team-img .img-icons span i{
    text-align: center;
    font-size: 60px;
    width: 60px;
    height: 60px;
    padding: 5%;
}


/* ==========================================================================
   13. MOBILE DOWNLOAD SECTION
========================================================================== */ 
.mobile-download h3{
    margin-top: 135px;
}

.mobile-text {
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 2h0px;
    font-weight: 400;
}

.mobile-download .btn-color {
    margin-top: 20px;
}

.mobile-download .btn-color:hover {
    background-color: #4a5058;
    border-color: #5c636e;
    color: #d4af37;
}

.mobile-download .shot-container {
    background: url("../images/app-screenshots/smartphone.png") no-repeat scroll center top rgba(0, 0, 0, 0);
    margin: 0 auto 0;
    height: 595px;
    position: relative;
}

#owl-carousel-shots-phone {
    height: 600px;
    width: 244px;
    margin: 0 auto;
}

#owl-carousel-shots-phone .owl-wrapper-outer {
    height: 600px;
    width: 240px;
    margin-left: 4px
}

#owl-carousel-shots-phone .owl-item {
    margin-top: 89px;
    opacity: 0.2;
    padding: 0;
}

#owl-carousel-shots-phone .owl-item.active {
    opacity: 1;
}

#owl-carousel-shots-phone .img-shots-container img {
    margin: 0 auto;
}

#owl-carousel-shots-phone .owl-controls .owl-buttons div {
    background: none;
    color: white;
    position: absolute;
    font-size: 25px;
}

#owl-carousel-shots-phone .owl-controls .owl-buttons .owl-prev {
    left: -100px;
    top: 200px;
}

#owl-carousel-shots-phone .owl-controls .owl-buttons .owl-next {
    right: -100px;
    top: 200px;
}

.mobile-download .right-features {
    margin-top: 120px;
}

.mobile-download .right-features h4{
    margin-bottom: 5px;
    margin-top: 20px;
}

.mobile-download .description{
    margin-bottom: 35px;
}


/* ==========================================================================
   14. FOOTER
========================================================================== */ 
.footer, .footer a{
    color: #ced3d8;
}

.footer h5{
    font-size: 15px;
    line-height: 23px;
}

.footer-hero, .footer-cta{
    font-size: 19px;
    line-height: 22px;
    margin-top: 20px;
    font-weight: 400;
}

.footer-hero strong{
    font-weight: 600;
}

.footer-cta .btn{
    padding: 10px;
    margin-left: 5px;
    color: #fff;
}

.footer-cta .btn:hover{
    border-color: #ffffff;
}

.contact-item {
    margin: 11px 0 16px;
}

.contact-icon {
    margin-right: 10px;
    font-size: 22px;
    margin-bottom: 10px;
    height: 20px;
    width: 20px;
    display: inline-block;
    vertical-align: top;
}

.contact-content {
    display: inline-block;
    line-height: 21px;
}

.contact-content a {
    color: #c9a227;
    font-weight: 600;
}

.footer-nav{
    margin-top: 100px;
    font-family: 'Raleway','Open Sans',Helvetica,Arial,sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 15px;
    -webkit-transition: all .5s ease;
    -o-transition: all .5s ease;
    -moz-transition: all .5s ease;
    transition: all .5s ease;
    text-align: center;
}

.footer-nav li{
    display: inline-block;
    margin-left: 15px;
}

.footer-nav a {
    color: #fff;
}

.footer-copy{
    margin-top:15px;
    font-size:13px;
    line-height: 16px;
    text-align: center;
}

.footer-partner{
    margin-top: 30px;
    margin-bottom: 0;
    text-align: center;
}

.footer-partner-text{
    font-style: italic;
}

.footer-partner-logo{
    width: 200px;
    height: auto;
    opacity: 0.85;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.footer-partner-logo:hover{
    opacity: 1;
}

.instagram-feed-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.instagram-feed-item{
    display: block;
    border-radius: 6px;
    overflow: hidden;
    background: #1b1f25;
    border: 1px solid rgba(201, 162, 39, 0.2);
    aspect-ratio: 1 / 1;
}

.instagram-feed-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}

.instagram-feed-item:hover img{
    transform: scale(1.04);
}

.instagram-feed-empty{
    font-size: 14px;
    line-height: 1.5;
    margin-top: 10px;
}

.instagram-feed-empty a{
    color: #c9a227;
    font-weight: 600;
}

/* Twitter Feed by Tweetie */
.tweet {
    font-size: 16px;
    line-height: 21px;
}

.tweet ul{
    list-style-type: circle;
}

.tweet li {
    margin-top: 15px;
}

.tweet li img{
    display: none;
}

.tweet li span{
    font-style: italic;
    font-size: 15px;
}

/*------------------------------------------*/
/*   Cookie consent banner + modal
/*------------------------------------------*/
.cookie-consent-banner{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10050;
    background: rgba(13,13,13,0.96);
    border-top: 2px solid #c9a227;
    box-shadow: 0 -6px 24px rgba(0,0,0,0.35);
    padding: 18px 15px;
}

.cookie-consent-inner{
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cookie-consent-text{
    flex: 1 1 320px;
    color: #e8e8e8;
    font-size: 14px;
    line-height: 1.55;
}

.cookie-consent-text strong{
    display: block;
    color: #c9a227;
    font-size: 15px;
    margin-bottom: 6px;
    font-weight: 700;
}

.cookie-consent-text a{
    color: #ffe08a;
    text-decoration: underline;
}

.cookie-consent-actions{
    flex: 0 1 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.btn-cookie{
    border-radius: 3px;
    padding: 10px 18px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 1px solid transparent;
    transition: all .2s ease;
}

.btn-cookie-primary{
    background: #c9a227;
    color: #0d0d0d;
    border-color: #c9a227;
}

.btn-cookie-primary:hover{
    background: #d4af37;
    color: #0d0d0d;
}

.btn-cookie-secondary{
    background: transparent;
    color: #c9a227;
    border-color: #c9a227;
}

.btn-cookie-secondary:hover{
    background: rgba(201,162,39,0.12);
}

.btn-cookie-ghost{
    background: transparent;
    color: #ccc;
    border-color: #5c636e;
}

.btn-cookie-ghost:hover{
    border-color: #c9a227;
    color: #fff;
}

.cookie-consent-modal{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10060;
}

.cookie-consent-modal-backdrop{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.65);
}

.cookie-consent-modal-dialog{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #2b2f36;
    border: 1px solid #5c636e;
    border-radius: 6px;
    box-shadow: 0 12px 48px rgba(0,0,0,0.55);
    max-width: 560px;
    width: 92%;
    max-height: 88vh;
    overflow-y: auto;
    padding: 28px 26px 22px;
}

.cookie-consent-modal-title{
    color: #c9a227;
    font-size: 22px;
    margin: 0 0 12px;
    font-weight: 700;
}

.cookie-consent-modal-intro{
    color: #ccc;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 20px;
}

.cookie-consent-modal-close{
    position: absolute;
    top: 12px;
    right: 14px;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.85;
}

.cookie-consent-modal-close:hover{
    opacity: 1;
    color: #c9a227;
}

.cookie-category{
    border: 1px solid #4a5058;
    border-radius: 4px;
    padding: 14px 14px 12px;
    margin-bottom: 12px;
    background: rgba(0,0,0,0.2);
}

.cookie-category-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.cookie-category-name{
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}

.cookie-category-desc{
    color: #b8b8b8;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

/* Toggle switch */
.cookie-switch{
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    flex-shrink: 0;
}

.cookie-switch input{
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-slider{
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #5c636e;
    border-radius: 26px;
    transition: .25s;
}

.cookie-slider:before{
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    border-radius: 50%;
    transition: .25s;
}

.cookie-switch input:checked + .cookie-slider{
    background-color: #c9a227;
}

.cookie-switch input:checked + .cookie-slider:before{
    transform: translateX(22px);
}

.cookie-switch input:disabled + .cookie-slider{
    opacity: 0.55;
    cursor: not-allowed;
}

.cookie-consent-modal-footer{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #4a5058;
}

@media (max-width: 767px){
    .cookie-consent-actions{
        width: 100%;
        justify-content: stretch;
    }
    .cookie-consent-actions .btn-cookie{
        flex: 1 1 auto;
        text-align: center;
    }
}






