/* Global Style Start */
:root {
    /* Font */
    --primary_font: "EB Garamond", "Garamond", Georgia, serif;
    --secondary_font: "EB Garamond", "Garamond", Georgia, serif;
    /* Color */
    --primary_color: #3F3F3F;
    --secondary_color: #873561;
    --accent_color: #FBFBFB;
    --text_color: #000000;
    --default_color: #FFFFFF;
    --color_one: #E7D7CB;
    /* Background */
    --primary_bg: #F7F2E9;
    /* Gradient */
    --accent_gradient: linear-gradient(12deg, #A75883 0%, #873561 100%);
    --accent_gradient_transparent: linear-gradient(12deg, rgba(167, 88, 131, 0.98) 40%, rgba(135, 53, 97, 0.95) 100%);
    /* Border */
    --accent_border_light: rgba(135, 53, 97, 0.10);
    --accent_border_medium: rgba(135, 53, 97, 0.25);
}

/* selection */
::selection {
    color: var(--default_color);
    background: var(--secondary_color);
}

/* Estilos base */
html {
    scroll-behavior: smooth;
}
body {
    overflow-x: hidden;
    background-color: var(--primary_bg);
}
section {
    padding: 80px 0;
    margin: 0;
    position: relative;
}
a {
    text-decoration: none;
}
img {
    object-fit: cover;
}
ul {
    list-style-type: none;
    padding-left: 0px;
}
h2 {
    color: var(--primary_color);
    font-size: 47px;
    font-family: var(--primary_font);
    font-weight: 700;
    text-transform: capitalize;
}
h3 {
    color: var(--text_color);
    font-size: 20px;
    font-family: var(--secondary_font);
    font-weight: 400;
}
h4 {
    color: var(--secondary_color);
    font-size: 28px;
    font-family: var(--primary_font);
    font-weight: 700;
    text-transform: capitalize;
}
h6 {
    color: var(--secondary_color);
    font-size: 21px;
    font-family: var(--primary_font);
    font-weight: 700;
}
p {
    color: var(--text_color);
    font-size: 20px;
    font-family: var(--secondary_font);
    font-weight: 400;
}
ul li {
    color: var(--text_color);
    font-size: 20px;
    font-family: var(--secondary_font);
    font-weight: 400;
    margin: 15px 0px;
    display: flex;
}
ul li i {
    color: var(--secondary_color);
    margin-right: 20px
}

/* Título grande */
.d2c_large_title {
    font-size: 44px;
    font-family: var(--primary_font);
    font-weight: 700;
    color: var(--primary_color);
    margin-bottom: 20px;
}
.d2c_large_title span {
    color: var(--secondary_color);
}

/* Botones */
.btn {
    color: var(--secondary_color);
    font-size: 21px;
    font-family: var(--secondary_font);
    font-weight: 600;
    text-transform: capitalize;
    padding: 10px 36px 9px;
    border-radius: 4px;
    border: 1px solid var(--color_one);
    background: var(--color_one);
    transition: 0.4s all ease;
}
.btn:hover {
    color: var(--default_color);
    background: var(--secondary_color);
    border: 1px solid var(--secondary_color);
    transition: 0.4s all ease;
}
.btn:active {
    color: var(--default_color) !important;
    background: var(--secondary_color) !important;
    border: 1px solid var(--secondary_color) !important;
    transition: 0.4s all ease;
}

/* Tarjetas */
.d2c_card_wrapper {
    height: 100%;
    background: var(--default_color);
    box-shadow: 0px 30px 70px rgba(160, 171, 201, 0.15);
    border-radius: 10px;
    border: 1px solid var(--accent_border_medium);
    position: relative;
    z-index: 1;
}
.d2c_card_wrapper::before {
    position: absolute;
    content: '';
    inset: 0;
    background-image: var(--accent_gradient);
    z-index: -1;
    transition: opacity 0.4s linear;
    opacity: 0;
    border-radius: 10px;
}
.d2c_card_title {
    color: var(--secondary_color);
    margin-bottom: 18px;
    transition: 0.4s all;
}
.d2c_card_wrapper p {
    transition: 0.4s all;
}

/* Iconos sociales */
.d2c_social_icon {
    width: 40px;
    height: 40px;
    background: var(--color_one);
    box-shadow: 0px 4px 32px rgba(46.35, 45.32, 48.28, 0.08);
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s all ease;
}
.d2c_social_icon:hover {
    background: var(--accent_gradient);
    opacity: 0.90;
    transition: 0.4s all ease;
}
.d2c_social_icon i {
    margin-right: 0px;
    font-size: 17px;
    color: var(--secondary_color);
    transition: 0.4s all ease;
}
.d2c_social_icon:hover i {
    color: var(--default_color);
    transition: 0.4s all ease;
}

/* Barra de navegación */
.d2c_navbar {
    background: var(--default_color);
    box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.06);
}
.navbar-brand {
    max-width: 247px;
    margin-right: 30px;
}
.d2c_navbar .navbar-nav {
    border-left: 1px solid var(--primary_color);
}
.d2c_navbar .navbar-nav .nav-item {
    margin: 0px 14px;
    display: flex;
    align-items: center;
}
.d2c_navbar .nav-link {
    color: var(--text_color);
    font-family: var(--secondary_font);
    font-size: 20px;
    font-weight: 500;
    text-transform: capitalize;
    padding: 0px 0px;
    background: transparent;
    transition: .4s all ease;
}
.d2c_navbar .nav-link:hover {
    color: var(--secondary_color);
    transition: .4s all ease;
}
.d2c_navbar .nav-link.active {
    color: var(--secondary_color);
    transition: .4s all ease;
}
.d2c_navbar .btn {
    margin-left: 35px;
}

.d2c_hero_btn .btn {
    font-size: 24px;
    padding: 11px 40px 11px;
    font-weight: 600;
}

/* Menú móvil */
body .d2c_mobile_view {
    position: fixed;
    height: 100vh;
    inset: 0;
    opacity: 1;
}
.navbar.d2c_mobile_view_body .navbar-nav {
    width: 100%;
}
.navbar.d2c_mobile_view_body .nav-item {
    margin-right: 0;
}
.d2c_mobile_view .show_width {
    max-width: 14.625rem;
    width: 100%;
    height: 100vh;
    position: absolute;
    right: -380px;
    top: 0;
    transition: 0.5s;
    padding: 20px 30px;
    background-color: var(--default_color);
    overflow: scroll;
    z-index: 9999;
    box-shadow: 0px 0px 10px rgb(0 0 0 / 15%);
}
.d2c_mobile_view.show .show_width {
    right: 0;
    transition: 0.5s;
}
.hide_width {
    max-width: 15.625rem;
    width: 100%;
    height: 100vh;
    position: absolute;
    right: -380px !important;
    top: 0;
    transition: 0.5s !important;
    padding: 20px 15px;
    background-color: var(--default_color);
    overflow: scroll;
    z-index: 9999;
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-toggler {
    border: 1px solid var(--primary_color);
    color: var(--primary_color);
    padding: 7px 10px;
    width: 44px;
    margin-left: 0px;
    transition: .4s all ease;
}
.navbar-toggler:hover {
    background: transparent;
    color: var(--primary_color);
    transition: .4s all ease;
}
.d2c_cross_btn {
    width: auto;
    border: none;
}
@media only screen and (min-width:991px) {
    body .d2c_mobile_view {
        opacity: 0;
        transition: .5s;
    }
}
.d2c_hero_wrapper p {
    padding-right: 110px;
}
.d2c_hero_wrapper p {
    margin-bottom: 35px;
}
.d2c_hero_wrapper .btn {
    position: relative;
    z-index: 2;
}
.d2c_hero_right_wrapper .d2c_img_wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
}
.d2c_hero_right_wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

/* Sección Quiénes Somos */
.d2c_about_wrapper .d2c_title {
    margin-bottom: 30px;
}
.d2c_about_wrapper .d2c_title_content {
    margin-bottom: 40px;
}

/* Sección Nuestro Enfoque */
.d2c_steps_wrappper {
    padding: 80px 0;
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center bottom;
}
.d2c_steps_wrapp {
    padding: 40px 0;
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center center;
}
.d2c_steps_number {
    background-image: url(../images/steps_shape_new.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    color: var(--default_color);
    font-size: 33px;
    font-family: var(--primary_font);
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 20px;
}
.d2c_steps_wrapp h4 {
    color: var(--secondary_color);
    margin-bottom: 20px
}
.d2c_steps_wrapp p {
    font-size: 18px;
}

/* Sección Áreas de Especialización */
.d2c_services_wrapper .d2c_title {
    margin-bottom: 30px;
    color: var(--secondary_color);
}
.d2c_services_wrapper .d2c_title_content {
    margin-bottom: 36px;
}
.d2c_services_wrapper .d2c_card_wrapper {
    padding: 44px 25px;
}
.d2c_services_wrapper .d2c_card_wrapper img {
    margin-bottom: 30px;
}
.d2c_services_wrapper .d2c_card_wrapper .d2c_card_title {
    font-size: 21px;
}


/* Footer */
.d2c_footer_wrapper {
    padding: 80px 0 0;
    background: var(--default_color);
}
.d2c_footer_wrapper img {
    max-width: 320px;
    margin-bottom: 10px;
}
.d2c_footer_wrapper h6 {
    color: var(--primary_color);
    margin-bottom: 35px;
}
.d2c_contact_details {
    padding: 0px 25px 0px 75px;
}
.d2c_contact_details a {
    margin-right: 18px;
}
.d2c_info_wrapper {
    margin-bottom: 14px;
}
.d2c_footer_newsletter {
    padding-left: 80px;
}
.d2c_copy_right_wrapper {
    margin-top: 50px;
    padding: 20px 0px;
    border-top: 1px solid var(--accent_border_light);
}
.d2c_copy_right_wrapper p {
    color: var(--primary_color);
}
.d2c_copy_right_wrapper p a {
    font-weight: 700;
    color: var (--secondary_color);
}

/* Sección Contacto */
.d2c_contact_wrapper h4 {
    color: var(--primary_color);
}
.d2c_contact_wrapper .d2c_info_wrapper {
    margin-bottom: 35px;
}
.d2c_contact_wrapper .d2c_info_wrapper .d2c_social_icon {
    width: 50px;
    height: 45px;
    background-image: url(../images/contact_shape_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    box-shadow: none;
    border-radius: 0;
    margin-right: 25px;
}
.d2c_contact_wrapper .d2c_info_wrapper .d2c_social_icon i {
    color: var(--default_color);
}
.d2c_contact_wrapper h6 {
    color: var(--primary_color);
}