.elementor-5541 .elementor-element.elementor-element-f2b3872{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-5541:not(.elementor-motion-effects-element-type-background), body.elementor-page-5541 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}/* Start custom CSS for html, class: .elementor-element-765724b *//* ==========================================================
   DESPECHO MADRID · RESERVAS
========================================================== */

.despecho-reservas {

    --dr-black: #050505;
    --dr-black-soft: #101010;
    --dr-black-light: #171717;

    --dr-white: #ffffff;

    --dr-pink: #ed4565;
    --dr-pink-soft: #ff91b6;

    --dr-yellow: #ffd35f;
    --dr-coral: #ff9f7d;

    --dr-green: #009568;

    --dr-purple: #5620e8;
    --dr-blue: #123c94;

    background: var(--dr-black);
    color: var(--dr-white);

    font-family: "Courage", Arial, sans-serif;

    overflow: hidden;
}


.despecho-reservas *,
.despecho-reservas *::before,
.despecho-reservas *::after {

    box-sizing: border-box;

}


.dr-container {

    width: min(1220px, calc(100% - 60px));

    margin-left: auto;
    margin-right: auto;

}


.despecho-reservas a {

    color: inherit;
    font-size: 20px;

}


/* ==========================================================
   HERO
========================================================== */

.dr-hero {

    position: relative;

    min-height: 760px;

    display: flex;
    align-items: center;

    padding: 130px 0 100px;

    background:

        radial-gradient(
            circle at 87% 19%,
            rgba(0,149,104,.22),
            transparent 31%
        ),

        radial-gradient(
            circle at 7% 88%,
            rgba(86,32,232,.19),
            transparent 30%
        ),

        var(--dr-black);

}


.dr-hero-grid {

    display: grid;

    grid-template-columns: 1.05fr .95fr;

    gap: 75px;

    align-items: center;

}


.dr-kicker {

    display: block;

    margin-bottom: 22px;

    color: var(--dr-yellow);

    font-size: 20px;
    letter-spacing: 1.5px;

}


.dr-title {

    max-width: 760px;

    margin: 0;

    font-size: clamp(58px, 7vw, 79px);

    line-height: .84;

    letter-spacing: -3px;

}


.dr-title span {

    display: block;

    color: var(--dr-pink);

}


.dr-intro {

    max-width: 650px;

    margin: 33px 0 27px;

    color: rgba(255,255,255,.66);

    font-family: Mahesa, sans-serif;

    font-size: 28px;

line-height: 0.9;

}


.dr-hero-points {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 30px;

}


.dr-hero-points span {

    padding: 8px 12px;

    border: 1px solid rgba(255,255,255,.22);

    border-radius: 100px;

    font-size: 15px;

}


.dr-main-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 14px;

    padding: 14px 22px;

    border-radius: 100px;

    background: var(--dr-purple, #5620e8);
    color: #fff;

    text-decoration: none;

    font-family: "Courage", Sans-serif;
    font-size: 20px;
    line-height: 1;

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


/* TEXTO */

.dr-main-button-text {
    display: block;

    white-space: nowrap;
}


/* ICONOS */

.dr-main-button-icon {
    display: block;

    width: 28px;
    height: 28px;

    object-fit: contain;

    flex: 0 0 28px;

    transition: transform .3s ease;
}


/* REFLEJAMOS EL DE LA IZQUIERDA */

.dr-main-button-icon-left {
    transform: rotate(180deg);
}


/* HOVER */

.dr-main-button:hover {
    transform: scale(1.05);

    background: #4011c6;
    color: #fff;

    box-shadow:
        0 12px 30px rgba(86,32,232,.32);
}


.dr-main-button:hover .dr-main-button-icon-left {
    transform:
        rotate(180deg)
        translateX(-3px);
}


.dr-main-button:hover .dr-main-button-icon-right {
    transform:
        translateX(3px);
}


/* MOBILE */

@media (max-width: 767px) {

    .dr-main-button {
        gap: 10px;

        padding: 13px 18px;

        font-size: 17px;
    }


    .dr-main-button-icon {
        width: 23px;
        height: 23px;

        flex-basis: 23px;
    }

}


/* ==========================================================
   HERO CARD
========================================================== */

.dr-hero-card {

    position: relative;

    padding: 50px;

    background: var(--dr-green);

    border-radius: 26px;

    transform: rotate(2deg);

    overflow: hidden;

}


.dr-hero-card::before {

    content: "75";

    position: absolute;

    right: 20px;
    top: -25px;

    color: rgba(255,255,255,.11);

    font-size: 140px;

}


.dr-hero-card-label {

    color: var(--dr-yellow);

    font-size: 21px;

}


.dr-hero-card h2 {

    position: relative;

    margin: 22px 0;

    font-size: clamp(42px, 5vw, 63px);

    line-height: .88;

}


.dr-hero-card h2 span {

    display: block;

    color: var(--dr-yellow);

}


.dr-hero-card p {

    position: relative;

    max-width: 440px;

    margin: 0;

    font-family: Mahesa, sans-serif;

    font-size: 25px;

    line-height: 0.9;

}


.dr-hero-card-mini {

    display: inline-flex;

    margin-top: 28px;

    padding: 9px 13px;

    border: 1px solid rgba(255,255,255,.35);

    border-radius: 100px;

    font-size: 20px;

}


/* ==========================================================
   MARQUEE
========================================================== */

.dr-marquee {

    overflow: hidden;

    padding: 10px 0;

    background: var(--dr-pink);

}


.dr-marquee-track {

    display: flex;

    width: max-content;

    gap: 38px;

    white-space: nowrap;

}


.dr-marquee-track span {

    position: relative;

    font-size: 11px;

}


.dr-marquee-track span:not(:last-child)::after {

    content: "✦";

    position: absolute;

    right: -24px;

    color: var(--dr-yellow);

}


/* ==========================================================
   BOOKING
========================================================== */

.dr-booking {

    padding: 80px 0;

    background: var(--dr-black);

}


.dr-booking-heading {

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 60px;

}


.dr-booking-heading > div > span {

    display: block;

    margin-bottom: 17px;

    color: var(--dr-green);

    font-size: 21px;

}


.dr-booking-heading h2 {

    margin: 0;

    font-size: clamp(50px, 6vw, 69px);

    line-height: .87;

}


.dr-booking-heading h2 strong {

    display: block;

    color: var(--dr-pink);

}


.dr-booking-heading > p {

    max-width: 440px;

    margin: 0;

    color: rgba(255,255,255,.58);

    font-family: Mahesa, sans-serif;

    font-size: 26px;

    line-height: 0.9;

}


.dr-booking-layout {

    display: grid;

    grid-template-columns: 260px minmax(0, 1fr);

    gap: 25px;

    align-items: start;

}


/* ==========================================================
   BOOKING INFO
========================================================== */

.dr-booking-info {

    position: sticky;

    top: 100px;

}


.dr-booking-step {

    display: grid;

    grid-template-columns: 35px 1fr;

    gap: 12px;

    padding: 20px 0;

    border-bottom:
        1px solid rgba(255,255,255,.13);

}


.dr-booking-step > span {

    color: var(--dr-pink);

    font-size: 23px;

}


.dr-booking-step strong {

    display: block;

    margin-bottom: 6px;

    font-size: 17px;
    font-weight: 500;

}


.dr-booking-step p {

    margin: 0;

    color: rgba(255,255,255,.53);

    font-family: Mahesa, sans-serif;

    font-size: 22px;

    line-height: 0.9;

}


.dr-group-box {

    display: flex;

    flex-direction: column;

    gap: 9px;

    margin-top: 28px;

    padding: 22px;

    background: var(--dr-coral);

    color: var(--dr-black);
    border-radius: 22px;

}


.dr-group-box > span {

    color: var(--dr-green);

    font-size: 23px;

line-height: 1;
}


.dr-group-box strong {

    font-size: 22px;

    line-height: 0.9;
    font-weight: 500;
        font-family: Mahesa, sans-serif;

}


.dr-group-box a {

    margin-top: 5px;

    color: var(--dr-purple);

    text-decoration: none;

    font-size: 13px;

}


/* ==========================================================
   COVERMANAGER
========================================================== */

.dr-cover-wrapper {

    overflow: hidden;

    border-radius: 30px;

    background: #fff;

    box-shadow:
        0 30px 80px rgba(0,0,0,.32);

}


.dr-cover-top {

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding: 18px 25px;

    background: var(--dr-yellow);
    color: var(--dr-black);

}


.dr-cover-top span {

    color: var(--dr-green);

    font-size: 20px;

}


.dr-cover-top strong {

    font-size: 22px;

}


.dr-cover-frame {

    width: 100%;

    background: white;

    overflow: hidden;

}


.dr-covermanager {

    display: block;

    width: 100%;

    min-height: 750px;

    border: 0;

    background: white;

}


/* ==========================================================
   HOW
========================================================== */

.dr-how {

    padding: 40px 0;

    background: var(--dr-black-soft);

}


.dr-section-heading {

    max-width: 850px;

    margin-bottom: 55px;

}


.dr-section-heading > span {

    display: block;

    margin-bottom: 17px;

    color: var(--dr-yellow);

    font-size: 21px;

}


.dr-section-heading h2 {

    margin: 0;

    font-size: clamp(50px, 6vw, 78px);

    line-height: .87;

}


.dr-section-heading h2 strong {

    display: block;

    color: var(--dr-green);

}


.dr-how-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 15px;

}


.dr-how-card {

    position: relative;

    min-height: 430px;

    padding: 36px;

    overflow: hidden;

    transition:
        transform .3s ease,
        border-radius .3s ease;

}


.dr-how-card:hover {

    transform: translateY(-8px);

    border-radius: 25px;

}


.dr-how-number {

    position: absolute;

    right: 20px;
    top: 10px;

    color: rgba(255,255,255,.15);

    font-size: 75px;

}


.dr-how-card small {

    display: block;

    margin-bottom: 40px;

    color: var(--dr-yellow);

    font-size: 20px;

}


.dr-how-card h3 {

    max-width: 520px;

    margin: 0 0 25px;

    font-size: clamp(32px, 4vw, 47px);

    line-height: .9;

}


.dr-how-card p {

    max-width: 540px;

    margin: 0 0 16px;

    font-family: Mahesa, sans-serif;

    font-size: 24px;

    line-height: 0.9;

}


.dr-how-pink {

    background: var(--dr-pink);
    border-radius: 22px;

}


.dr-how-purple {

    background: var(--dr-purple);
border-radius: 22px;
}


/* ==========================================================
   INFO
========================================================== */

.dr-info {

    padding: 80px 0;

    background: var(--dr-yellow);

    color: var(--dr-black);

}


.dr-info-grid {

    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 90px;

}


.dr-info-heading > span {

    color: var(--dr-green);

    font-size: 21px;

}


.dr-info-heading h2 {

    margin: 18px 0 0;

    font-size: clamp(49px, 6vw, 75px);

    line-height: .87;

}


.dr-info-heading h2 strong {

    display: block;

    color: var(--dr-pink);

}


.dr-info-list article {

    display: grid;

    grid-template-columns: 45px 1fr;

    gap: 18px;

    padding: 27px 0;

    border-bottom:
        1px solid rgba(0,0,0,.14);

}


.dr-info-list article > span {

    color: var(--dr-pink);

    font-size: 25px;

}


.dr-info-list h3 {

    margin: 0 0 8px;

    color: var(--dr-purple);

    font-size: 20px;

}


.dr-info-list p {

    max-width: 590px;

    margin: 0;

    font-family: Mahesa, sans-serif;

    font-size: 24px;

    line-height: 0.9;

}


/* ==========================================================
   VENUESPLACE
========================================================== */

.dr-venue {

    padding: 70px 0;

    background: var(--dr-black);

}


.dr-venue-grid {

    display: grid;

    grid-template-columns: 1fr .7fr;

    gap: 80px;

    align-items: center;

}


.dr-venue-copy > span {

    display: block;

    margin-bottom: 17px;

    color: var(--dr-green);

    font-size: 21px;

}


.dr-venue-copy h2 {

    max-width: 680px;

    margin: 0;

    font-size: clamp(48px, 6vw, 75px);

    line-height: .87;

}


.dr-venue-copy h2 strong {

    display: block;

    color: var(--dr-pink);

}


.dr-venue-copy p {

    max-width: 550px;

    margin: 25px 0;

    color: rgba(255,255,255,.58);
    font-family: Mahesa, sans-serif;

    font-size: 25px;

    line-height: 0.9;

}


.dr-venue-copy a {

    color: var(--dr-yellow);

    text-decoration: none;

    font-size: 20px;

}


.dr-venue-logo {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 15px;

    min-height: 260px;

    padding: 40px;

    background: var(--dr-white);
border-radius: 22px;
}


.dr-venue-logo img {

    display: block;

    max-width: 260px;

    width: 100%;

    height: auto;

}


.dr-venue-logo span {

    color: var(--dr-green);

    text-align: center;

    font-size: 10px;

}


/* ==========================================================
   FAQ CTA
========================================================== */

.dr-faq-cta {

    padding: 100px 0;

    background: var(--dr-green);

}


.dr-faq-grid {

    display: grid;

    grid-template-columns: 1.2fr .8fr;

    gap: 80px;

    align-items: center;

}


.dr-faq-grid > div:first-child > span {

    display: block;

    margin-bottom: 17px;

    color: var(--dr-yellow);

    font-size: 21px;

}


.dr-faq-grid h2 {

    max-width: 700px;

    margin: 0;

    font-size: clamp(48px, 6vw, 76px);

    line-height: .87;

}


.dr-faq-grid h2 strong {

    display: block;

    color: var(--dr-yellow);

}


.dr-faq-copy p {

    margin: 0 0 25px;
    font-family: Mahesa, sans-serif;

    font-size: 25px;

    line-height: .9;

}


.dr-faq-button {

    display: inline-flex;

    align-items: center;

    gap: 13px;

    padding: 14px 21px;

    border-radius: 100px;

    background: var(--dr-purple);

    color: white !important;

    text-decoration: none;

    font-size: 11px;

}


/* ==========================================================
   FINAL
========================================================== */

.dr-final {

    position: relative;

    padding: 70px 0;

    background: var(--dr-pink);

    overflow: hidden;

}


.dr-final-word {

    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    color: transparent;

    font-size: clamp(130px, 24vw, 350px);

    white-space: nowrap;

    -webkit-text-stroke:
        2px rgba(255,255,255,.13);

}


.dr-final-content {

    position: relative;

    z-index: 2;

    text-align: center;

}


.dr-final-content > span {

    display: block;

    margin-bottom: 20px;

    color: var(--dr-yellow);

    font-size: 21px;

}


.dr-final-content h2 {

    max-width: 950px;

    margin: 0 auto 40px;

    font-size: clamp(50px, 7vw, 90px);

    line-height: .86;

}


.dr-final-content h2 strong {

    display: block;

    color: var(--dr-yellow);

}


.dr-final-button {

    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 16px 25px;

    border-radius: 100px;

    background: var(--dr-purple);

    color: white !important;

    text-decoration: none;

    font-size: 13px;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {

    .dr-hero-grid {

        gap: 40px;

    }


    .dr-booking-layout {

        grid-template-columns: 210px 1fr;

    }


    .dr-info-grid,
    .dr-venue-grid,
    .dr-faq-grid {

        gap: 45px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

.dr-cover-top span, .dr-cover-top strong  {
    font-size: 15px;
}

    .dr-container {

        width: calc(100% - 30px);

    }


    /* HERO */

    .dr-hero {

        min-height: auto;

        padding: 90px 0 70px;

    }


    .dr-hero-grid {

        grid-template-columns: 1fr;

        gap: 40px;

    }


    .dr-title {

        font-size: clamp(48px, 14vw, 66px);

        letter-spacing: -2px;

    }


    .dr-intro {

        font-size: 16px;

    }


    .dr-main-button {

        width: 100%;

        justify-content: center;

    }


    .dr-hero-card {

        padding: 38px 25px;

        transform: none;

    }


    /* BOOKING */

    .dr-booking {

        padding: 40px 0;

    }


    .dr-booking-heading {

        grid-template-columns: 1fr;

        gap: 25px;

        margin-bottom: 42px;

    }


    .dr-booking-heading h2 {

        font-size: 40px;

    }


    .dr-booking-layout {

        grid-template-columns: 1fr;

    }


    .dr-booking-info {

        position: static;

        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 10px;

    }


    .dr-booking-step {

        display: block;

        padding: 18px;

        border: 0;

        background: var(--dr-black-light);

    }


    .dr-booking-step > span {

        display: block;

        margin-bottom: 10px;

    }


    .dr-group-box {

        grid-column: span 2;

        margin-top: 0;

    }


    .dr-cover-wrapper {

        border-radius: 18px;

    }


    .dr-covermanager {

        min-height: 900px;

    }


    /* HOW */

    .dr-how {

        padding: 40px 0;

    }


    .dr-section-heading h2 {

        font-size: 47px;

    }


    .dr-how-grid {

        grid-template-columns: 1fr;

    }


    .dr-how-card {

        min-height: 390px;

        padding: 28px;

    }


    /* INFO */

    .dr-info {

        padding: 40px 0;

    }


    .dr-info-grid {

        grid-template-columns: 1fr;

        gap: 45px;

    }


    .dr-info-heading h2 {

        font-size: 47px;

    }


    /* VENUE */

    .dr-venue {

        padding: 40px 0;

    }


    .dr-venue-grid {

        grid-template-columns: 1fr;

        gap: 45px;

    }


    .dr-venue-copy h2 {

        font-size: 39px;

    }


    /* FAQ */

    .dr-faq-cta {

        padding: 80px 0;

    }


    .dr-faq-grid {

        grid-template-columns: 1fr;

        gap: 35px;

    }


    .dr-faq-grid h2 {

        font-size: 47px;

    }


    .dr-faq-button {

        width: 100%;

        justify-content: center;

    }


    /* FINAL */

    .dr-final {

        padding: 85px 0;

    }


    .dr-final-content h2 {

        font-size: 40px;

    }


    .dr-final-button {

        width: 100%;

        justify-content: center;

    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion: reduce) {

    .despecho-reservas *,
    .despecho-reservas *::before,
    .despecho-reservas *::after {

        transition-duration: .01ms !important;

    }

}


.marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
    background-color:#ed4565 ;
  /*background: linear-gradient(90deg, #8f0000 0%, #de0201 45%, #b30000 100%);*/
  /*border-top: 2px solid rgba(255, 214, 102, 0.9);*/
  /*border-bottom: 2px solid rgba(255, 214, 102, 0.35);*/
  /*box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);*/
  min-height: 54px;
}

.marquee__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  width: max-content;
  animation: marquee 22s linear infinite;
  will-change: transform;
}

.marquee__item {
    font-family: Mahesa, sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff8ef;
  text-shadow: 0 1px 2px rgba(0,0,0,0.28);
  padding: 0rem;
}

.marquee__divider {
  font-size: 1.5rem;
  color: #ffd666;
  opacity: 0.95;
  padding: 0rem;
}

.marquee__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  z-index: 2;
  pointer-events: none;
}

.marquee__fade--left {
  left: 0;
    background-color:#ED4565 ;
   /* background: linear-gradient(to right, rgba(143,0,0,1), rgba(143,0,0,0));*/
}

.marquee__fade--right {
  right: 0;
   background-color:#ED4565 ;
  /* background: linear-gradient(to left, rgba(179,0,0,1), rgba(179,0,0,0));*/
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.marquee:hover .marquee__track {
  animation-play-state: paused;
}

@media (max-width: 767px) {
  .marquee {
    min-height: 46px;
  }

  .marquee__item {
    font-size: 0.9rem;
    padding: 0 0.55rem;
  }

  .marquee__divider {
    font-size: 0.85rem;
  }

  .marquee__track {
    animation-duration: 18s;
  }
}

/* ==========================================================
   DESPECHO RESERVAS · HEART + NAIL
========================================================== */

.despecho-reservas {
    position: relative;
}


/* ==========================================================
   BASE
========================================================== */

.dr-deco {
    position: absolute;

    z-index: 1;

    pointer-events: none;
    user-select: none;
}

.dr-deco img {
    display: block;

    width: 100%;
    height: auto;
}


/* ==========================================================
   HERO
========================================================== */

.dr-hero {
    position: relative;
    overflow: hidden;
}

.dr-hero .dr-container {
    position: relative;
    z-index: 3;
}

.dr-deco-heart-hero {
    top: 105px;
    right: -75px;

    width: clamp(190px, 20vw, 325px);

    opacity: .18;

    transform: rotate(13deg);

    animation:
        drHeartFloat 9s ease-in-out infinite;
}

@keyframes drHeartFloat {

    0%,
    100% {
        transform:
            translateY(0)
            rotate(13deg);
    }

    50% {
        transform:
            translateY(-18px)
            rotate(8deg);
    }

}


/* ==========================================================
   BOOKING / COVERMANAGER
========================================================== */

.dr-booking {
    position: relative;

    overflow: hidden;
}

.dr-booking .dr-container {
    position: relative;

    z-index: 3;
}

.dr-deco-nail-booking {
    left: -70px;
    top: 210px;

    width: clamp(150px, 16vw, 255px);

    opacity: .14;

    transform: rotate(55deg);

    filter:
        drop-shadow(
            0 12px 20px rgba(0,0,0,.3)
        );
}


/*
   Muy importante:
   nunca por encima del iframe.
*/

.dr-cover-wrapper {
    position: relative;

    z-index: 5;
}


/* ==========================================================
   CÓMO RESERVAR
========================================================== */

.dr-how {
    position: relative;

    overflow: hidden;
}

.dr-how .dr-container {
    position: relative;

    z-index: 3;
}

.dr-deco-heart-how {
    right: -65px;
    bottom: -65px;

    width: clamp(190px, 21vw, 330px);

    opacity: .10;

    transform: rotate(-15deg);
}


/* ==========================================================
   VENUESPLACE
========================================================== */

.dr-venue {
    position: relative;

    overflow: hidden;
}

.dr-venue .dr-container {
    position: relative;

    z-index: 3;
}

.dr-deco-nail-venue {
    right: -45px;
    top: 40px;

    width: clamp(110px, 12vw, 190px);

    opacity: .15;

    transform: rotate(-42deg);
}


/* ==========================================================
   CTA FINAL
========================================================== */

.dr-final {
    position: relative;

    overflow: hidden;
}


/*
   OJO:
   dejamos el texto gigante ABSOLUTO.
   No repetimos el problema de Horarios.
*/

.dr-final-word {
    position: absolute;

    left: 50%;
    top: 50%;

    z-index: 1;

    transform:
        translate(-50%, -50%);

    pointer-events: none;
}


.dr-final-content {
    position: relative;

    z-index: 4;
}


.dr-deco-heart-final {
    left: -55px;
    bottom: -75px;

    z-index: 2;

    width: clamp(180px, 19vw, 300px);

    opacity: .17;

    transform: rotate(-16deg);
}


.dr-deco-nail-final {
    right: 2%;
    top: 25px;

    z-index: 2;

    width: clamp(105px, 11vw, 175px);

    opacity: .19;

    transform: rotate(48deg);
}


/* ==========================================================
   MOVIMIENTO CLAVOS
========================================================== */

.dr-deco-nail-venue img,
.dr-deco-nail-final img {

    animation:
        drNailFloat
        10s
        ease-in-out
        infinite;

}


@keyframes drNailFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(11px);
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    /*
       En Reservas somos especialmente prudentes.
       El usuario viene a convertir.
    */

    .dr-deco-heart-hero {
        top: 95px;
        right: -60px;

        width: 155px;

        opacity: .11;
    }


    /*
       Nada flotando alrededor de CoverManager en móvil.
    */

    .dr-deco-nail-booking {
        display: none;
    }


    .dr-deco-heart-how {
        right: -60px;
        bottom: -35px;

        width: 145px;

        opacity: .07;
    }


    .dr-deco-nail-venue {
        display: none;
    }


    .dr-deco-heart-final {
        left: -55px;
        bottom: -35px;

        width: 145px;

        opacity: .10;
    }


    .dr-deco-nail-final {
        right: -25px;
        top: 20px;

        width: 90px;

        opacity: .11;
    }

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

@media (prefers-reduced-motion: reduce) {

    .dr-deco,
    .dr-deco img {
        animation: none !important;
    }

}



.marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
    background-color:#ed4565 ;
  /*background: linear-gradient(90deg, #8f0000 0%, #de0201 45%, #b30000 100%);*/
  /*border-top: 2px solid rgba(255, 214, 102, 0.9);*/
  /*border-bottom: 2px solid rgba(255, 214, 102, 0.35);*/
  /*box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);*/
  min-height: 54px;
}

.marquee__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  width: max-content;
  animation: marquee 22s linear infinite;
  will-change: transform;
}

.marquee__item {
    font-family: Mahesa, sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff8ef;
  text-shadow: 0 1px 2px rgba(0,0,0,0.28);
  padding: 0rem;
}

.marquee__divider {
  font-size: 1.5rem;
  color: #ffd666;
  opacity: 0.95;
  padding: 0rem;
}

.marquee__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  z-index: 2;
  pointer-events: none;
}

.marquee__fade--left {
  left: 0;
    background-color:#ED4565 ;
   /* background: linear-gradient(to right, rgba(143,0,0,1), rgba(143,0,0,0));*/
}

.marquee__fade--right {
  right: 0;
   background-color:#ED4565 ;
  /* background: linear-gradient(to left, rgba(179,0,0,1), rgba(179,0,0,0));*/
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.marquee:hover .marquee__track {
  animation-play-state: paused;
}

@media (max-width: 767px) {
  .marquee {
    min-height: 46px;
  }

  .marquee__item {
    font-size: 0.9rem;
    padding: 0 0.55rem;
  }

  .marquee__divider {
    font-size: 0.85rem;
  }

  .marquee__track {
    animation-duration: 18s;
  }
}
.marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
    background-color:#ff9fbd ;
  /*background: linear-gradient(90deg, #8f0000 0%, #de0201 45%, #b30000 100%);*/
  /*border-top: 2px solid rgba(255, 214, 102, 0.9);*/
  /*border-bottom: 2px solid rgba(255, 214, 102, 0.35);*/
  /*box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);*/
  min-height: 54px;
}

.marquee__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  width: max-content;
  animation: marquee 22s linear infinite;
  will-change: transform;
}

.marquee__item {
  font-family: "Courage", sans-serif;
  font-weight: 700;
  font-size: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #fff8ef;
  text-shadow: 0 1px 2px rgba(0,0,0,0.28);
  padding: 0rem;
}

.marquee__divider {
  font-size: 1rem;
  color: #ffd666;
  opacity: 0.95;
  padding: 0rem;
}

.marquee__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  z-index: 2;
  pointer-events: none;
}

.marquee__fade--left {
  left: 0;
    background-color:#ff9fbd ;
   /* background: linear-gradient(to right, rgba(143,0,0,1), rgba(143,0,0,0));*/
}

.marquee__fade--right {
  right: 0;
  background-color:#ff9fbd ;
  /* background: linear-gradient(to left, rgba(179,0,0,1), rgba(179,0,0,0));*/
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.marquee:hover .marquee__track {
  animation-play-state: paused;
}

@media (max-width: 767px) {
  .marquee {
    min-height: 46px;
  }

  .marquee__item {
    font-size: 0.9rem;
    padding: 0 0.55rem;
  }

  .marquee__divider {
    font-size: 0.85rem;
  }

  .marquee__track {
    animation-duration: 18s;
  }
}

/* ==========================================
   BOTÓN TARJETA REGALO · ICONOS LATERALES
========================================== */

.dg-final-button.dg-button-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;
}


/* TEXTO */

.dg-button-text {
    display: inline-block;
    white-space: nowrap;
}


/* ICONOS */

.dg-button-icon {
    display: block;

    width: 21px !important;
    height: 21px !important;

    min-width: 21px;
    max-width: 21px;

    object-fit: contain;

    border-radius: 0 !important;

    pointer-events: none;

    transition: transform .3s ease;
}


/* ICONO IZQUIERDO ESPEJADO */

.dg-button-icon-left {
    transform: rotate(180deg);
}


/* PEQUEÑO MOVIMIENTO AL HOVER */

.dg-final-button:hover .dg-button-icon-left {
    transform:
        rotate(180deg)
        translateX(-2px);
}

.dg-final-button:hover .dg-button-icon-right {
    transform: translateX(2px);
}


/* MOBILE */

@media (max-width: 767px) {

    .dg-final-button.dg-button-icons {
        gap: 7px;
    }

    .dg-button-icon {
        width: 18px !important;
        height: 18px !important;

        min-width: 18px;
        max-width: 18px;
    }

}

/* ==========================================================
   CARTA · BOTONES CON ICONOS DESPECHO
========================================================== */

.dc-button-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;
}


/* TEXTO */

.dc-button-text {
    display: inline-block;

    width: auto;
    height: auto;

    white-space: nowrap;
}


/* ICONOS */

.despecho-carta .dc-button-icon {
    display: block;

    width: 21px !important;
    height: 21px !important;

    min-width: 21px;
    max-width: 21px;

    flex: 0 0 21px;

    object-fit: contain;

    border-radius: 0;

    pointer-events: none;

    transition:
        transform .3s ease;
}


/* IZQUIERDA ESPEJADA */

.dc-button-icon-left {
    transform: rotate(180deg);
}


/* HOVER */

.dc-button-icons:hover .dc-button-icon-left {
    transform:
        rotate(180deg)
        translateX(-2px);
}


.dc-button-icons:hover .dc-button-icon-right {
    transform:
        translateX(2px);
}
/* ==========================================================
   AJUSTE DE TAMAÑO
========================================================== */

.dc-pill-button.dc-button-icons,
.dc-reserve-button.dc-button-icons {

    gap: 9px;

    padding-left: 18px;
    padding-right: 18px;
}

/* ==========================================================
   TARJETA REGALO · BOTÓN HERO
========================================================== */

.dg-main-button.dg-button-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 50px;

    padding: 11px 18px;

    font-size: 15px;
    line-height: 1;
}


/* TEXTO */

.dg-main-button .dg-button-text {
    display: inline-block;

    width: auto;
    height: auto;

    white-space: nowrap;
}


/* ICONOS */

.despecho-gift .dg-main-button .dg-button-icon {
    display: block;

    width: 21px !important;
    height: 21px !important;

    min-width: 21px !important;
    max-width: 21px !important;

    flex: 0 0 21px;

    object-fit: contain !important;

    border-radius: 0 !important;

    pointer-events: none;

    transition: transform .3s ease;
}


/* IZQUIERDA ESPEJADA */

.dg-button-icon-left {
    transform: rotate(180deg);
}


/* HOVER */

.dg-main-button:hover .dg-button-icon-left {
    transform:
        rotate(180deg)
        translateX(-2px);
}

.dg-main-button:hover .dg-button-icon-right {
    transform: translateX(2px);
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .dg-main-button.dg-button-icons {
        width: auto;

        gap: 7px;

        min-height: 46px;

        padding: 10px 15px;

        font-size: 14px;
    }


    .despecho-gift .dg-main-button .dg-button-icon {
        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        max-width: 18px !important;

        flex-basis: 18px;
    }


    .dg-main-button .dg-button-text {
        white-space: normal;

        text-align: center;
    }

}

#dr-covermanager-mount {
    width: 100%;
    min-height: 750px;
    position: relative;
}

.dr-covermanager-placeholder {
    min-height: 750px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dr-covermanager-placeholder span {
    opacity: .55;
    font-size: 12px;
    letter-spacing: .12em;
}

/* ==========================================================
   FAQ CTA · RESPONSIVE FIX
========================================================== */

@media (max-width: 767px) {

    .despecho-reservas .dr-faq-cta {
        padding: 65px 0;
    }

    .despecho-reservas .dr-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .despecho-reservas .dr-faq-grid > div,
    .despecho-reservas .dr-faq-copy {
        min-width: 0;
        width: 100%;
    }

    /* TÍTULO */
    .despecho-reservas .dr-faq-grid h2 {
        max-width: 100%;
        font-size: clamp(39px, 9vw, 40px);
        line-height: .88;
        overflow-wrap: break-word;
    }

    /* TEXTO */
    .despecho-reservas .dr-faq-copy p {
        max-width: 100%;
        font-size: 20px;
        line-height: .95;
    }

    /* BOTÓN */
    .despecho-reservas .dr-faq-button {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        display: flex;
        align-items: center;
        justify-content: center;

        gap: 8px;

        padding: 13px 14px;

        font-size: 15px;
        line-height: 1.05;

        overflow: hidden;
    }

    /* IMPORTANTE:
       anulamos el nowrap global del botón */
    .despecho-reservas .dr-faq-button .dr-main-button-text {
        min-width: 0;

        white-space: normal;

        text-align: center;

        overflow-wrap: normal;
        word-break: normal;

        flex: 0 1 auto;
    }

    /* ICONOS */
    .despecho-reservas .dr-faq-button .dr-main-button-icon {
        width: 20px;
        height: 20px;

        min-width: 20px;

        flex: 0 0 20px;
    }

    .dr-main-button-text img, img.dr-main-button-icon{
        max-width: 25px !important;
    }
    .dr-final-content > span {
        font-size:17px ;
    }
}


/* MÓVILES PEQUEÑOS */
@media (max-width: 390px) {

    .despecho-reservas .dr-faq-grid h2 {
        font-size: 38px;
    }

    .despecho-reservas .dr-faq-button {
        gap: 6px;
        padding: 12px 10px;

        font-size: 13px;
    }

    .despecho-reservas .dr-faq-button .dr-main-button-icon {
        width: 18px;
        height: 18px;

        min-width: 18px;

        flex-basis: 18px;
    }
}/* End custom CSS */