.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ---------- Doll-nails v4 — negro + rosa, sencilla ---------- */
html { scroll-behavior: smooth; }
body { background: #0B0B0C; color: #F2F2F2; font-family: 'Archivo', Arial, sans-serif; }
::selection { background: #EFB9C9; color: #0B0B0C; }
a { color: #EFB9C9; text-decoration: none; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #0B0B0C; }
::-webkit-scrollbar-thumb { background: #2A2A2E; }
::-webkit-scrollbar-thumb:hover { background: #EFB9C9; }

/* título condensado itálico con brillo rosa "cromado" */
.dls-chrome .elementor-heading-title {
  background: linear-gradient(180deg, #FFFFFF 0%, #FBE3EB 38%, #E39CB4 52%, #F7D0DC 70%, #FFFFFF 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent !important;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.6)) drop-shadow(0 0 18px rgba(239,185,201,.18));
  font-style: italic; letter-spacing: -1px; padding: .18em .08em 0; margin-top: -.18em;
}

.dls-center { justify-content: center !important; }
/* foto central que se funde con el negro */
.dls-hero-img img {
  width: 340px; max-width: 78vw; aspect-ratio: 3/4; object-fit: cover;
  -webkit-mask-image: radial-gradient(ellipse 62% 58% at 50% 50%, #000 55%, transparent 100%);
          mask-image: radial-gradient(ellipse 62% 58% at 50% 50%, #000 55%, transparent 100%);
}

/* botones rectangulares */
.dls-btn .elementor-button { width: 100%; border-radius: 0 !important; padding: 18px 20px !important; transition: all .2s; }
.dls-btn-outline .elementor-button {
  background: rgba(255,255,255,.02) !important; color: #F2F2F2 !important;
  border: 1.5px solid rgba(242,242,242,.75) !important; box-shadow: inset 0 0 0 3px #0B0B0C, inset 0 0 0 4px rgba(242,242,242,.25);
}
.dls-btn-outline .elementor-button:hover { border-color: #EFB9C9 !important; color: #EFB9C9 !important; }
.dls-btn-main .elementor-button {
  background: #F2F2F2 !important; color: #0B0B0C !important; border: 0 !important;
  border-bottom: 4px solid #E39CB4 !important;
}
.dls-btn-main .elementor-button:hover { background: #FBE3EB !important; }

/* lista de cajas (servicios / desplazamiento) */
.dls-list { display: flex; flex-direction: column; gap: 10px; }
.dls-box {
  display: flex; align-items: center; gap: 14px; padding: 18px 20px; color: #F2F2F2 !important;
  border: 1.5px solid rgba(242,242,242,.6); background: #111113; transition: all .2s;
}
a.dls-box:hover { border-color: #EFB9C9; background: #17131A; }
.dls-ico { color: #F2F2F2; font-size: 20px; width: 18px; text-align: center; }
.dls-dot { width: 13px; height: 13px; border-radius: 50%; background: #8A8A90; flex: none; }
a.dls-box:hover .dls-dot { background: #EFB9C9; box-shadow: 0 0 0 3px rgba(239,185,201,.25); }
.dls-txt { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.dls-txt strong { font-weight: 800; text-transform: uppercase; font-size: 16px; letter-spacing: .3px; }
.dls-txt small { color: #A9A9AE; font-size: 12px; text-transform: uppercase; font-weight: 600; letter-spacing: .3px; }
.dls-price { font-weight: 800; text-transform: uppercase; font-size: 14px; white-space: nowrap; }
@media (max-width: 767px) { .dls-box { padding: 15px 14px; gap: 10px; } .dls-txt strong { font-size: 14px; } }

/* aviso con línea rosa (como "PRIMERA VISITA") */
.dls-note {
  border-left: 3px solid #E39CB4; background: rgba(239,185,201,.08); padding: 14px 18px;
  color: #F2F2F2; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .4px; line-height: 1.5;
}

/* menú y pie */
.dls-header { justify-content: flex-end !important; }
.dls-nav .elementor-nav-menu--main .elementor-item {
  font-family: 'Archivo', Arial, sans-serif !important; font-weight: 800 !important; font-size: 14px !important;
  text-transform: uppercase; letter-spacing: 1px; color: #F2F2F2 !important; padding: 8px 14px !important;
}
.dls-nav .elementor-nav-menu--main .elementor-item:hover,
.dls-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #EFB9C9 !important; }
.dls-nav .elementor-item:before, .dls-nav .elementor-item:after { display: none !important; }
@media (max-width: 767px) {
  .dls-header { justify-content: center !important; }
  .dls-nav .elementor-nav-menu--main .elementor-item { font-size: 12px !important; padding: 8px 9px !important; }
}
.dls-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; }
.dls-foot a, .dls-foot span { color: #F2F2F2; font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: 1px; }
.dls-foot a:hover { color: #EFB9C9; }
.dls-foot2 { margin-top: 12px; }
.dls-foot2 a, .dls-foot2 span { color: #6E6E74; font-weight: 600; }

/* páginas legales */
.dls-legal { max-width: 760px; margin: 0 auto; padding: 50px 20px 70px; color: #C9C9CE; line-height: 1.7; font-size: 15px; font-family: 'Archivo', Arial, sans-serif; }
.dls-legal h1 { font-family: 'Anton', Impact, sans-serif; font-style: italic; text-transform: uppercase; font-size: 56px; line-height: 1; margin-bottom: 30px; color: #FBE3EB; }
.dls-legal h2 { font-family: 'Archivo', Arial, sans-serif; font-weight: 800; color: #F2F2F2; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; margin-top: 34px; padding-left: 12px; border-left: 3px solid #E39CB4; }
.dls-legal p { margin-bottom: 14px; }
.dls-legal ul { padding-left: 22px; margin-bottom: 14px; }
.dls-legal strong { color: #F2F2F2; }
/* ---------- Fluent Booking — cajas negras con borde fino + rosa (como la referencia) ---------- */
.dls-booking {
  --fcal_dark: #F2F2F2; --fcal_body_bg: transparent; --fcal_cal_bg: #0B0B0C;
  --fcal_slot_border: rgba(242,242,242,.55); --fcal_primary_color: #EFB9C9; --fcal_thBG: #0B0B0C;
  font-family: 'Archivo', Arial, sans-serif;
}
.dls-booking * { font-family: 'Archivo', Arial, sans-serif; }
.dls-booking .fcal_calendar_wrapper, .dls-booking .fluent_booking_wrap, .dls-booking .fcal_slots_wrap,
.dls-booking .fluent_booking_app, .dls-booking .fcal_wrap, .dls-booking .fcal_holder, .dls-booking .fcal_calendar_inner {
  background: transparent !important; box-shadow: none !important;
}

/* paso 1: lista de servicios */
.dls-booking .fcal_author_header, .dls-booking .fcal_description, .dls-booking .fcal_slot_location { display: none !important; }
.dls-booking .fcal_slots { display: flex !important; flex-direction: column; gap: 10px; border: 0 !important; background: transparent !important; }
.dls-booking .fcal_slot { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.dls-booking .fcal_event_card {
  display: flex !important; align-items: center; justify-content: space-between; gap: 14px;
  padding: 18px 20px !important; background: #111113 !important; border: 1.5px solid rgba(242,242,242,.6) !important;
  border-radius: 0 !important; color: #F2F2F2 !important; transition: all .2s;
}
.dls-booking .fcal_event_card:hover { border-color: #EFB9C9 !important; background: #17131A !important; }
.dls-booking .fcal_slot_content h2 {
  display: flex; align-items: center; gap: 12px; margin: 0 0 4px !important;
  font-size: 16px !important; font-weight: 800 !important; text-transform: uppercase; color: #F2F2F2 !important; letter-spacing: .3px;
}
.dls-booking .fcal_slot_color_schema { width: 13px !important; height: 13px !important; border-radius: 50%; background: #8A8A90 !important; flex: none; }
.dls-booking .fcal_event_card:hover .fcal_slot_color_schema { background: #EFB9C9 !important; box-shadow: 0 0 0 3px rgba(239,185,201,.25); }
.dls-booking .fcal_slot_items_wrap, .dls-booking .fcal_slot_duration { color: #A9A9AE !important; font-size: 12px !important; font-weight: 700; text-transform: uppercase; padding-left: 25px; }
.dls-booking .fcal_slot_duration svg { display: none; }
.dls-booking .book_now {
  background: transparent !important; color: #F2F2F2 !important; border: 1.5px solid rgba(242,242,242,.6) !important;
  border-radius: 0 !important; font-weight: 800 !important; text-transform: uppercase; font-size: 12px !important; padding: 8px 14px !important;
}
.dls-booking .fcal_event_card:hover .book_now { background: #F2F2F2 !important; color: #0B0B0C !important; border-color: #F2F2F2 !important; }

/* paso 2: calendario */
.dls-booking .fcal_calendar_inner { border: 1.5px solid rgba(242,242,242,.6) !important; border-radius: 0 !important; }
.dls-booking .fcal_side { border-color: rgba(242,242,242,.25) !important; background: transparent !important; }
.dls-booking .fcal_author_avatar, .dls-booking .fcal_slot_description { display: none !important; }
.dls-booking .fcal_author_name { color: #A9A9AE !important; text-transform: uppercase; font-size: 12px !important; font-weight: 700; letter-spacing: 1px; }
.dls-booking .fcal_slot_heading {
  font-family: 'Anton', Impact, sans-serif !important; font-style: italic; text-transform: uppercase; font-weight: 400 !important;
  font-size: 30px !important; line-height: 1 !important; color: #FBE3EB !important;
}
.dls-booking .fcal_slot_info, .dls-booking .fcal_icon_item, .dls-booking .slot_timing { color: #F2F2F2 !important; font-weight: 700; text-transform: uppercase; font-size: 13px !important; }
.dls-booking .fcal_icon_item svg path { fill: #EFB9C9; }
.dls-booking .calendar-month-year, .dls-booking .fcal_date_event_details_header {
  color: #F2F2F2 !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .5px; font-size: 16px !important;
}
.dls-booking .calendar_nav button, .dls-booking .calendar_nav > * {
  background: #111113 !important; border: 1.5px solid rgba(242,242,242,.6) !important; border-radius: 6px !important; color: #F2F2F2 !important;
}
.dls-booking .calendar_nav .fcal_btn_disabled { opacity: .3; }
.dls-booking .day-name { color: #A9A9AE !important; font-weight: 800 !important; text-transform: uppercase; font-size: 11px !important; }
.dls-booking .calendar .day {
  border-radius: 8px !important; font-weight: 800 !important; font-size: 16px !important; transition: all .15s;
}
.dls-booking .calendar .day-enabled {
  background: #55555C !important; color: #FFFFFF !important; border: 1.5px solid rgba(242,242,242,.7) !important;
}
.dls-booking .calendar .day-enabled:hover { background: #6A6A72 !important; border-color: #EFB9C9 !important; }
.dls-booking .calendar .day-disabled {
  background: transparent !important; color: #6E6E74 !important; border: 1.5px dashed rgba(242,242,242,.25) !important;
}
.dls-booking .calendar .day_is_selected, .dls-booking .calendar .day-enabled.day_is_selected {
  background: #F2F2F2 !important; color: #0B0B0C !important; border: 0 !important; box-shadow: inset 0 -4px 0 #E39CB4;
}
.dls-booking .calendar .is-today:not(.day_is_selected) { box-shadow: inset 0 -3px 0 #E39CB4; }

/* .elementor-kit-5 de zona horaria y 12h/24h */
.dls-booking .fcal_timezone_select .svelte-select, .dls-booking .fcal_timezone_select > label > div {
  background: #111113 !important; border: 1.5px solid rgba(242,242,242,.55) !important; border-radius: 0 !important; color: #F2F2F2 !important;
}
.dls-booking .fcal_timezone_select * { color: #F2F2F2 !important; }
.dls-booking .format-hour { border: 1.5px solid rgba(242,242,242,.4) !important; border-radius: 0 !important; background: transparent !important; }
.dls-booking .format-hour > * { border-radius: 0 !important; color: #A9A9AE !important; background: transparent !important; }
.dls-booking .format-hour .active { background: #F2F2F2 !important; color: #0B0B0C !important; }

/* horas */
.dls-booking .fcal_spot_lists { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.dls-booking .fcal_spot { display: flex; gap: 8px; margin: 0 !important; }
.dls-booking .fcal_spot_name {
  flex: 1; background: #111113 !important; color: #F2F2F2 !important; border: 1.5px solid rgba(242,242,242,.55) !important;
  border-radius: 0 !important; font-weight: 800 !important; font-size: 17px !important; padding: 14px 8px !important; transition: all .15s;
}
.dls-booking .fcal_spot_name span { color: inherit !important; }
.dls-booking .fcal_spot_name:hover { border-color: #EFB9C9 !important; }
.dls-booking .fcal_spot_selected .fcal_spot_name { background: #F2F2F2 !important; color: #0B0B0C !important; border-color: #F2F2F2 !important; box-shadow: inset 0 -4px 0 #E39CB4; }
.dls-booking .fcal_spot_confirm,
.dls-booking .fcal_btn, .dls-booking .fcal_btn_primary, .dls-booking .fcal_btn_submit, .dls-booking .fcal_submit button {
  background: #F2F2F2 !important; color: #0B0B0C !important; border: 0 !important; border-radius: 0 !important;
  border-bottom: 4px solid #E39CB4 !important; font-family: 'Anton', Impact, sans-serif !important; font-style: italic;
  font-weight: 400 !important; text-transform: uppercase; font-size: 19px !important; letter-spacing: .5px; padding: 12px 22px !important;
}
.dls-booking .fcal_btn_submit { width: 100%; padding: 16px 22px !important; font-size: 22px !important; }
.dls-booking .fcal_spot_confirm:hover, .dls-booking .fcal_btn:hover, .dls-booking .fcal_btn_submit:hover { background: #FBE3EB !important; }
.dls-booking .fcal_back_btn, .dls-booking .fcal_back {
  color: #F2F2F2 !important; border-color: rgba(242,242,242,.6) !important; border-radius: 0 !important; background: transparent !important;
}

/* formulario */
.dls-booking .fcal_input_label, .dls-booking .fcal_input_label label {
  color: #F2F2F2 !important; font-weight: 800 !important; text-transform: uppercase; font-size: 13px !important; letter-spacing: .5px;
}
.dls-booking .fcal_input, .dls-booking input, .dls-booking textarea, .dls-booking select {
  background: #111113 !important; color: #F2F2F2 !important; font-size: 15px !important;
  border: 1.5px solid rgba(242,242,242,.55) !important; border-radius: 0 !important; padding: 12px 14px !important;
}
.dls-booking .fcal_phone_wrapper input { padding-left: 52px !important; }
.dls-booking input::placeholder, .dls-booking textarea::placeholder { color: #75757B !important; }
.dls-booking input:focus, .dls-booking textarea:focus { border-color: #E39CB4 !important; box-shadow: 0 0 0 1px #E39CB4 !important; outline: 0; }
.dls-booking .fcal_help_text { color: #A9A9AE !important; text-transform: uppercase; font-size: 11px !important; font-weight: 600; }
.dls-booking .fcal_powered_by { display: none !important; }

/* confirmación */
.dls-booking .fcal_confirmation, .dls-booking .fcal_booking_confirmed {
  background: #0B0B0C !important; border: 1.5px solid rgba(242,242,242,.7) !important; border-radius: 0 !important; color: #F2F2F2 !important;
}
.dls-booking .fcal_confirm_header h1, .dls-booking .fcal_confirm_header h2, .dls-booking .fcal_confirm_header h3 {
  font-family: 'Anton', Impact, sans-serif !important; font-style: italic; text-transform: uppercase; font-weight: 400 !important;
  font-size: 46px !important; line-height: 1 !important; color: #FBE3EB !important;
}
.dls-booking .fcal_confirm_header p, .dls-booking .fcal_confirm_body, .dls-booking .fcal_confirm_section_title,
.dls-booking .fcal_confirm_section_content { color: #F2F2F2 !important; text-transform: uppercase; font-weight: 700; font-size: 13px !important; }
.dls-booking .fcal_check_holder { background: transparent !important; border: 2px solid #E39CB4 !important; }
.dls-booking .fcal_check_holder svg path { fill: #EFB9C9 !important; stroke: #EFB9C9 !important; }
.dls-booking .fcal_to_calendars a, .dls-booking .fcal_booking_manage a {
  border: 1.5px solid rgba(242,242,242,.7) !important; border-radius: 30px !important; color: #F2F2F2 !important;
  background: transparent !important; text-transform: uppercase; font-weight: 800; font-size: 12px;
}

/* ajustes tras revisión en vivo */
.dls-booking .calendar .day > span { background: transparent !important; color: inherit !important; }
.dls-booking .calendar .day-disabled:has(> span:empty), .dls-booking .calendar .day-disabled:empty { border-color: transparent !important; }
.dls-booking .fcal_timezone_select input, .dls-booking .svelte-select input {
  border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important;
}
.dls-booking .fcal_timezone_select > label > div { padding: 6px 12px !important; min-height: 44px; }
.dls-booking .fcal_side .slot_location, .dls-booking .fcal_side .fcal_loc_google_meet { display: none !important; }
.dls-booking .fcal_slot_duration { padding-left: 0 !important; }
.dls-booking .fcal_country_select { background: transparent !important; border: 0 !important; border-right: 1.5px solid rgba(242,242,242,.3) !important; width: 96px !important; }
.dls-booking .fcal_country_select input { border: 0 !important; padding: 0 !important; background: transparent !important; }
.dls-booking .fcal_phone_wrapper .basic-tel-input { padding-left: 108px !important; }
.dls-booking .fcal_field_name_address input { padding-left: 38px !important; }
.dls-booking .fcal_field_name_address svg { stroke: #EFB9C9; }
.dls-booking .fcal_spot_name { text-align: center !important; justify-content: center; }
.dls-booking .fcal_calendar_wrapper, .dls-booking .fcal_calendar_block_inner, .dls-booking .fluent_booking_calendar_view,
.dls-booking .fcal_calendar_wrap_block, .dls-booking .fluent_booking_wrap, .dls-booking .fcal_slots_wrap {
  padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; border: 0 !important;
}
@media (max-width: 767px) {
  .dls-booking .fcal_event_card { flex-wrap: wrap; padding: 15px 14px !important; }
  .dls-booking .fcal_slot_content h2 { font-size: 14px !important; }
  .dls-booking .fcal_slot_heading { font-size: 26px !important; }
}
.dls-booking .fcal_phone_wrapper .fcal_country_select { background: transparent !important; color: #F2F2F2 !important; --background: transparent; --list-background: #111113; }
.dls-booking .fcal_country_code { color: #F2F2F2 !important; }
.dls-booking .fcal_country_select .svelte-select-list, .dls-booking .svelte-select-list { background: #111113 !important; border: 1.5px solid rgba(242,242,242,.4) !important; }
.dls-booking .svelte-select-list .item.hover, .dls-booking .svelte-select-list .item:hover { background: #2A2A2E !important; }/* End custom CSS */