
h2 {
font-family: 'Lily Script One';
font-style: normal;
font-weight: 400;
font-size: 40px;
line-height: 55px;
text-align: center;
}
/* Variables de colores */
:root {
    --primary-color: #0d6efd;
    --secondary-color: #6c757d;
    --success-color: #198754;
    --danger-color: #dc3545;
    --warning-color: #ffc107;
    --info-color: #0dcaf0;
}
/* Estilos generales */
body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    background-color: #f7f7f7;
}

html {
    overflow-x: hidden;
}

/* Eliminar márgenes de secciones */
section {
    margin: 0;
    padding: 0;
}

/* Navbar personalizado */

/* Hero section */
.hero-section {
    min-height: 800px;
    background-image: url(/assets/images/fondo_header.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.hero-section .row {
    min-height: 800px;
}

/* Guirnalda decorativa */
.guirnalda-container {
    position: relative;
    width: 100%;
    height: 0;
    overflow: visible;
}

.guirnalda-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: block;
    transform: translateY(-50%);
    z-index: 10;
}

/* Mensaje de Santa */
.mensaje-santa-img {
    max-width: 100%;
    height: auto;
}

/* Logo Bimbo */
.logo-bimbo-img {
    position: absolute;
    top: 100;
    left: 200px;
    width: auto;
    height: auto;
    max-width: 200px;
}

/* Bimbo Header */
.bimbo-header-img {
    max-width: 100%;
    height: auto;
}

/* Carrusel personalizado */
#postcardCarousel {
    position: relative;
    padding-bottom: 80px;
}

#postcardCarousel .carousel-indicators {
    position: absolute;
    bottom: 0px;
    margin-bottom: 0;
}

#postcardCarousel .carousel-indicators [data-bs-target] {
    background-color: transparent;
    background-image: url('../images/dot_normal.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: none;
    opacity: 1;
    text-indent: -9999px;
}

#postcardCarousel .carousel-indicators .active {
    background-image: url('../images/dot_hover.png');
}

/* Flechas de navegación personalizadas */
#postcardCarousel .carousel-control-prev,
#postcardCarousel .carousel-control-next {
    width: auto;
    opacity: 1;
}

#postcardCarousel .carousel-control-prev {
    left: -60px;
}

#postcardCarousel .carousel-control-next {
    right: -60px;
}

#postcardCarousel .carousel-control-prev-icon {
    background-image: url('../images/arrow_normal.png');
    background-size: contain;
    width: 40px;
    height: 40px;
    transform: scaleX(-1);
}

#postcardCarousel .carousel-control-next-icon {
    background-image: url('../images/arrow_normal.png');
    background-size: contain;
    width: 40px;
    height: 40px;
}

#postcardCarousel .carousel-control-prev:hover .carousel-control-prev-icon {
    background-image: url('../images/arrow_hover.png');
}

#postcardCarousel .carousel-control-next:hover .carousel-control-next-icon {
    background-image: url('../images/arrow_hover.png');
}

/* Carrusel Mobile */
#postcardCarouselMobile {
    position: relative;
    padding-bottom: 80px;
}

#postcardCarouselMobile .carousel-indicators {
    position: absolute;
    bottom: 0px;
    margin-bottom: 0;
}

#postcardCarouselMobile .carousel-indicators [data-bs-target] {
    background-color: transparent;
    background-image: url('../images/dot_normal.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: none;
    opacity: 1;
    text-indent: -9999px;
}

#postcardCarouselMobile .carousel-indicators .active {
    background-image: url('../images/dot_hover.png');
}

#postcardCarouselMobile .carousel-text {
    width: 80%;
    margin: 0 auto;
}
.form-control-lg {
    min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: var(--bs-border-radius-lg);
}
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color .15s 
    ease-in-out, box-shadow .15s 
    ease-in-out;
}
/* Input con borde inferior */
.form-control-underline {
    border: none;
    border-bottom: 1px solid #ced4da;
    border-radius: 0;
    padding: 0.5rem 0;
    background-color: transparent;
    width: 100%;
    outline: none;
}

.form-control-underline:focus {
    border-bottom-color: #0d6efd;
    box-shadow: none;
}

/* Footer Row */
.footer-row {
    min-height: 200px;
}

.footer-text {
    text-align: center;
}

.footer-regalo-img {
    max-width: 100%;
    height: auto;
}

.footer-logo-img {
    max-width: 150px;
    height: auto;
}

/* Cards personalizadas */
.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Footer */
footer a {
    transition: opacity 0.3s ease;
}

footer a:hover {
    opacity: 0.7;
}

/* Animaciones */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.6s ease-out;
}
.carta-container {
    background-image: url("../images/fondo.png");
    background-color: red;
    background-repeat:no-repeat;
    background-position: top center;
    background-size: cover
}
.carta{
    /* Rectangle 8794 */
    background: #FFFFFF;
    box-shadow: 0px 106px 42px rgba(0, 0, 0, 0.01), 0px 59px 36px rgba(0, 0, 0, 0.05), 0px 26px 26px rgba(0, 0, 0, 0.09), 0px 7px 15px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
}

.img-gracias-rounded {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.light{
    color: #FFFFFF;
}

.dark{
    color: #343434;
}

.querido-santa {
    font-size: 80px;
    line-height: 121px;
}
.red{
    color: #B3282E;
}
.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}
.form-check .form-check-input {
    float: none;
    margin-left: -1.5em;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
.politica>a {
    color: #FFF;
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.15px;
}
.btn-primary {
    border-radius: 10px;
    background: #FDAF1B;
    width: 340px;
    height: 70px;
    color: #FFF;
    font-family: Montserrat;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.15px;
    border-color: transparent;
}

.parrafo{
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    letter-spacing: 0.15px;
    color: #343434;
}

input.error {
  border-bottom: 2px solid #db0080!important;
  border-right:  2px solid #db0080!important;
  box-shadow: 
    0px 28px 60px rgba(255, 255, 0, 0.01), 
    0px 21px 45px rgba(255, 255, 0, 0.05), 
    0px 14px 30px rgba(255, 255, 0, 0.09), 
    0px 7px 15px rgba(255, 255, 0, 0.1);
}

select.error {
  border-bottom: 2px solid #db0080!important;
  border-right:  2px solid #db0080!important;
}

label.error {
  display: none!important;
  background-color: rgba(0, 0, 0, 0.783);
  position: absolute;
  padding: 2px 10px;
  margin-top: 3px;
  border-radius: 5px;
}

.bg_gracias{
    background-image: url(../images/fondo_gracias.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}