

/* ==========================================================
   LANDINGS POR TIPO DE EVENTO (.bl-l) — generado desde la maqueta
   ========================================================== */
.e-con:has(.bl-l) { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; padding:0 !important; max-width:none !important; }
.elementor-widget-html:has(.bl-l), .elementor-widget-html:has(.bl-l) .elementor-widget-container { margin:0 !important; padding:0 !important; }
/* --- Landing boda --- */
body:has(.bl-boda) { background: #0E0E0E !important; margin: 0 !important; padding: 0 !important; }
body .bl-boda, body .bl-boda * { box-sizing: border-box !important; }
body .bl-boda { font-family: Manrope, "Helvetica Neue", Helvetica, sans-serif !important; font-size: 16px !important; line-height: normal !important; -webkit-font-smoothing: antialiased; }
body .bl-boda div, body .bl-boda p, body .bl-boda li, body .bl-boda span, body .bl-boda section, body .bl-boda header, body .bl-boda footer { color: inherit !important; font-family: inherit !important; line-height: inherit !important; letter-spacing: inherit; }
body .bl-boda h1, body .bl-boda h2, body .bl-boda h3 { font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; letter-spacing: normal !important; line-height: inherit !important; text-transform: none !important; color: inherit !important; margin: 0 !important; padding: 0 !important; }
body .bl-boda p { margin: 0 !important; }
body .bl-boda a { color: #C9A84C !important; font-family: inherit !important; }
html body .bl-boda .bl-boda-1, html body .bl-boda.bl-boda-1 { width: 100% !important; max-width: 480px !important; margin: 0 auto !important; min-height: 100vh !important; box-sizing: border-box !important; background: #0E0E0E !important; color: #F3ECDD !important; display: flex !important; flex-direction: column !important; overflow: hidden !important }
html body .bl-boda .bl-boda-2, html body .bl-boda.bl-boda-2 { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 20px 24px !important }
html body .bl-boda .bl-boda-3, html body .bl-boda.bl-boda-3 { font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 22px !important; font-weight: 600 !important; color: #C9A84C !important; letter-spacing: 0.02em !important }
html body .bl-boda .bl-boda-4, html body .bl-boda.bl-boda-4 { min-height: 44px !important; display: flex !important; align-items: center !important; padding: 0 16px !important; border: 1px solid #C9A84C !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 700 !important; text-decoration: none !important; color: #C9A84C !important }
html body .bl-boda .bl-boda-5, html body .bl-boda.bl-boda-5 { padding: 28px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 18px !important }
html body .bl-boda .bl-boda-6, html body .bl-boda.bl-boda-6 { font-size: 14px !important; color: #C9A84C !important }
html body .bl-boda .bl-boda-7, html body .bl-boda.bl-boda-7 { margin: 0 !important; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: 52px !important; line-height: 0.98 !important; color: #F3ECDD !important }
html body .bl-boda .bl-boda-8, html body .bl-boda.bl-boda-8 { margin: 0 !important; font-size: 17px !important; line-height: 1.55 !important; color: #BDB4A3 !important }
html body .bl-boda .bl-boda-9, html body .bl-boda.bl-boda-9 { display: flex !important; flex-direction: column !important; gap: 10px !important; margin-top: 6px !important }
html body .bl-boda .bl-boda-10, html body .bl-boda.bl-boda-10 { min-height: 54px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #C9A84C !important; color: #0E0E0E !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 700 !important; text-decoration: none !important }
html body .bl-boda .bl-boda-11, html body .bl-boda.bl-boda-11 { min-height: 54px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid #5A5244 !important; color: #F3ECDD !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 500 !important; text-decoration: none !important }
html body .bl-boda .bl-boda-12, html body .bl-boda.bl-boda-12 { margin: 36px 0 0 !important; height: 440px !important; background: #1C1A16 !important; border-top: 1px solid #3A3428 !important; border-bottom: 1px solid #3A3428 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 24px !important; box-sizing: border-box !important }
html body .bl-boda .bl-boda-13, html body .bl-boda.bl-boda-13 { text-align: center !important; font-size: 14px !important; line-height: 1.5 !important; color: #8E8676 !important }
html body .bl-boda .bl-boda-14, html body .bl-boda.bl-boda-14 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 24px !important }
html body .bl-boda .bl-boda-15, html body .bl-boda.bl-boda-15 { margin: 0 !important; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: 38px !important; line-height: 1.05 !important; color: #F3ECDD !important }
html body .bl-boda .bl-boda-16, html body .bl-boda.bl-boda-16 { display: flex !important; flex-direction: column !important }
html body .bl-boda .bl-boda-17, html body .bl-boda.bl-boda-17 { padding: 18px 0 !important; border-top: 1px solid #3A3428 !important; display: flex !important; flex-direction: column !important; gap: 6px !important }
html body .bl-boda .bl-boda-18, html body .bl-boda.bl-boda-18 { font-size: 18px !important; font-weight: 700 !important; color: #C9A84C !important }
html body .bl-boda .bl-boda-19, html body .bl-boda.bl-boda-19 { font-size: 15px !important; line-height: 1.5 !important; color: #BDB4A3 !important }
html body .bl-boda .bl-boda-20, html body .bl-boda.bl-boda-20 { padding: 18px 0 !important; border-top: 1px solid #3A3428 !important; border-bottom: 1px solid #3A3428 !important; display: flex !important; flex-direction: column !important; gap: 6px !important }
html body .bl-boda .bl-boda-21, html body .bl-boda.bl-boda-21 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 20px !important }
html body .bl-boda .bl-boda-22, html body .bl-boda.bl-boda-22 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important }
html body .bl-boda .bl-boda-23, html body .bl-boda.bl-boda-23 { padding: 20px 16px !important; background: #1C1A16 !important; border: 1px solid #3A3428 !important; border-radius: 14px !important; display: flex !important; flex-direction: column !important; gap: 8px !important }
html body .bl-boda .bl-boda-24, html body .bl-boda.bl-boda-24 { font-size: 16px !important; font-weight: 700 !important; color: #F3ECDD !important }
html body .bl-boda .bl-boda-25, html body .bl-boda.bl-boda-25 { font-size: 14px !important; line-height: 1.45 !important; color: #A79F90 !important }
html body .bl-boda .bl-boda-26, html body .bl-boda.bl-boda-26 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 22px !important }
html body .bl-boda .bl-boda-27, html body .bl-boda.bl-boda-27 { display: flex !important; gap: 16px !important }
html body .bl-boda .bl-boda-28, html body .bl-boda.bl-boda-28 { flex: none !important; width: 36px !important; height: 36px !important; border-radius: 999px !important; border: 1px solid #C9A84C !important; color: #C9A84C !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700 !important }
html body .bl-boda .bl-boda-29, html body .bl-boda.bl-boda-29 { display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-boda .bl-boda-30, html body .bl-boda.bl-boda-30 { font-size: 17px !important; font-weight: 700 !important }
html body .bl-boda .bl-boda-31, html body .bl-boda.bl-boda-31 { margin: 56px 24px 0 !important; padding: 26px 22px !important; border: 1px solid #C9A84C !important; border-radius: 18px !important; display: flex !important; flex-direction: column !important; gap: 14px !important }
html body .bl-boda .bl-boda-32, html body .bl-boda.bl-boda-32 { margin: 0 !important; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: 30px !important; line-height: 1.1 !important; color: #C9A84C !important }
html body .bl-boda .bl-boda-33, html body .bl-boda.bl-boda-33 { font-size: 15px !important; line-height: 1.5 !important; color: #F3ECDD !important }
html body .bl-boda .bl-boda-34, html body .bl-boda.bl-boda-34 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 16px !important }
html body .bl-boda .bl-boda-35, html body .bl-boda.bl-boda-35 { margin: 0 !important; font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 500 !important; font-size: 44px !important; line-height: 1 !important; color: #F3ECDD !important }
html body .bl-boda .bl-boda-36, html body .bl-boda.bl-boda-36 { margin-top: auto !important; padding: 40px 24px 32px !important; border-top: 1px solid #3A3428 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 13px !important; color: #8E8676 !important }
html body .bl-boda .bl-boda-37, html body .bl-boda.bl-boda-37 { text-decoration: none !important }

/* --- Landing comu --- */
body:has(.bl-comu) { background: #FBF6EC !important; margin: 0 !important; padding: 0 !important; }
body .bl-comu, body .bl-comu * { box-sizing: border-box !important; }
body .bl-comu { font-family: "Nunito Sans", "Helvetica Neue", Helvetica, sans-serif !important; font-size: 16px !important; line-height: normal !important; -webkit-font-smoothing: antialiased; }
body .bl-comu div, body .bl-comu p, body .bl-comu li, body .bl-comu span, body .bl-comu section, body .bl-comu header, body .bl-comu footer { color: inherit !important; font-family: inherit !important; line-height: inherit !important; letter-spacing: inherit; }
body .bl-comu h1, body .bl-comu h2, body .bl-comu h3 { font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; letter-spacing: normal !important; line-height: inherit !important; text-transform: none !important; color: inherit !important; margin: 0 !important; padding: 0 !important; }
body .bl-comu p { margin: 0 !important; }
body .bl-comu a { color: #7A5C16 !important; font-family: inherit !important; }
html body .bl-comu .bl-comu-1, html body .bl-comu.bl-comu-1 { width: 100% !important; max-width: 480px !important; margin: 0 auto !important; min-height: 100vh !important; box-sizing: border-box !important; background: #FBF6EC !important; color: #1D2733 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important }
html body .bl-comu .bl-comu-2, html body .bl-comu.bl-comu-2 { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 20px 24px !important }
html body .bl-comu .bl-comu-3, html body .bl-comu.bl-comu-3 { font-family: Fraunces, Georgia, serif !important; font-size: 22px !important; font-weight: 600 !important; color: #1D2733 !important }
html body .bl-comu .bl-comu-4, html body .bl-comu.bl-comu-4 { min-height: 44px !important; display: flex !important; align-items: center !important; padding: 0 16px !important; background: #1D2733 !important; color: #FBF6EC !important; border-radius: 999px !important; font-size: 14px !important; font-weight: 800 !important; text-decoration: none !important }
html body .bl-comu .bl-comu-5, html body .bl-comu.bl-comu-5 { margin: 8px 16px 0 !important; padding: 28px 20px 24px !important; background: #D9E6EE !important; border-radius: 32px !important; display: flex !important; flex-direction: column !important; gap: 16px !important }
html body .bl-comu .bl-comu-6, html body .bl-comu.bl-comu-6 { font-size: 14px !important; font-weight: 800 !important; color: #2E5670 !important }
html body .bl-comu .bl-comu-7, html body .bl-comu.bl-comu-7 { margin: 0 !important; font-family: Fraunces, Georgia, serif !important; font-weight: 500 !important; font-size: 44px !important; line-height: 1.02 !important; color: #1D2733 !important }
html body .bl-comu .bl-comu-8, html body .bl-comu.bl-comu-8 { margin: 0 !important; font-size: 17px !important; line-height: 1.55 !important; color: #33424F !important }
html body .bl-comu .bl-comu-9, html body .bl-comu.bl-comu-9 { height: 300px !important; background: #FBF6EC !important; border-radius: 22px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 24px !important; box-sizing: border-box !important }
html body .bl-comu .bl-comu-10, html body .bl-comu.bl-comu-10 { text-align: center !important; font-size: 14px !important; line-height: 1.5 !important; color: #5B6772 !important }
html body .bl-comu .bl-comu-11, html body .bl-comu.bl-comu-11 { min-height: 54px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #1D2733 !important; color: #FBF6EC !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 800 !important; text-decoration: none !important }
html body .bl-comu .bl-comu-12, html body .bl-comu.bl-comu-12 { min-height: 50px !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #1D2733 !important; font-size: 16px !important; font-weight: 600 !important }
html body .bl-comu .bl-comu-13, html body .bl-comu.bl-comu-13 { padding: 52px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 20px !important }
html body .bl-comu .bl-comu-14, html body .bl-comu.bl-comu-14 { margin: 0 !important; font-family: Fraunces, Georgia, serif !important; font-weight: 500 !important; font-size: 34px !important; line-height: 1.08 !important }
html body .bl-comu .bl-comu-15, html body .bl-comu.bl-comu-15 { display: flex !important; flex-direction: column !important; gap: 12px !important }
html body .bl-comu .bl-comu-16, html body .bl-comu.bl-comu-16 { padding: 20px !important; background: #FFFFFF !important; border-radius: 22px !important; display: flex !important; flex-direction: column !important; gap: 6px !important }
html body .bl-comu .bl-comu-17, html body .bl-comu.bl-comu-17 { font-size: 18px !important; font-weight: 800 !important }
html body .bl-comu .bl-comu-18, html body .bl-comu.bl-comu-18 { font-size: 15px !important; line-height: 1.5 !important; color: #4A5764 !important }
html body .bl-comu .bl-comu-19, html body .bl-comu.bl-comu-19 { display: flex !important; gap: 14px !important; align-items: flex-start !important }
html body .bl-comu .bl-comu-20, html body .bl-comu.bl-comu-20 { flex: none !important; width: 38px !important; height: 38px !important; border-radius: 999px !important; background: #D9E6EE !important; color: #1D2733 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important }
html body .bl-comu .bl-comu-21, html body .bl-comu.bl-comu-21 { display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-comu .bl-comu-22, html body .bl-comu.bl-comu-22 { font-size: 17px !important; font-weight: 800 !important }
html body .bl-comu .bl-comu-23, html body .bl-comu.bl-comu-23 { margin: 52px 16px 0 !important; padding: 26px 22px !important; background: #1D2733 !important; color: #FBF6EC !important; border-radius: 28px !important; display: flex !important; flex-direction: column !important; gap: 12px !important }
html body .bl-comu .bl-comu-24, html body .bl-comu.bl-comu-24 { margin: 0 !important; font-family: Fraunces, Georgia, serif !important; font-weight: 500 !important; font-size: 28px !important; line-height: 1.1 !important; color: #E7CC84 !important }
html body .bl-comu .bl-comu-25, html body .bl-comu.bl-comu-25 { font-size: 15px !important; line-height: 1.5 !important }
html body .bl-comu .bl-comu-26, html body .bl-comu.bl-comu-26 { padding: 52px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 16px !important }
html body .bl-comu .bl-comu-27, html body .bl-comu.bl-comu-27 { margin: 0 !important; font-family: Fraunces, Georgia, serif !important; font-weight: 500 !important; font-size: 38px !important; line-height: 1.04 !important }
html body .bl-comu .bl-comu-28, html body .bl-comu.bl-comu-28 { margin: 0 !important; font-size: 15px !important; line-height: 1.5 !important; color: #4A5764 !important }
html body .bl-comu .bl-comu-29, html body .bl-comu.bl-comu-29 { margin-top: auto !important; padding: 36px 24px 30px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 13px !important; color: #5B6772 !important }
html body .bl-comu .bl-comu-30, html body .bl-comu.bl-comu-30 { text-decoration: none !important }

/* --- Landing cumple --- */
body:has(.bl-cumple) { background: #140B24 !important; margin: 0 !important; padding: 0 !important; }
body .bl-cumple, body .bl-cumple * { box-sizing: border-box !important; }
body .bl-cumple { font-family: 'Outfit', 'Helvetica Neue', Helvetica, sans-serif !important; font-size: 16px !important; line-height: normal !important; -webkit-font-smoothing: antialiased; }
body .bl-cumple div, body .bl-cumple p, body .bl-cumple li, body .bl-cumple span, body .bl-cumple section, body .bl-cumple header, body .bl-cumple footer { color: inherit !important; font-family: inherit !important; line-height: inherit !important; letter-spacing: inherit; }
body .bl-cumple h1, body .bl-cumple h2, body .bl-cumple h3 { font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; letter-spacing: normal !important; line-height: inherit !important; text-transform: none !important; color: inherit !important; margin: 0 !important; padding: 0 !important; }
body .bl-cumple p { margin: 0 !important; }
body .bl-cumple a { color: #FF6BAA !important; font-family: inherit !important; }
html body .bl-cumple .bl-cumple-1, html body .bl-cumple.bl-cumple-1 { width: 100% !important; max-width: 480px !important; margin: 0 auto !important; min-height: 100vh !important; box-sizing: border-box !important; background: #140B24 !important; color: #F4EEFF !important; display: flex !important; flex-direction: column !important; overflow: hidden !important }
html body .bl-cumple .bl-cumple-2, html body .bl-cumple.bl-cumple-2 { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 20px 24px !important }
html body .bl-cumple .bl-cumple-3, html body .bl-cumple.bl-cumple-3 { font-family: 'Syne', sans-serif !important; font-size: 22px !important; font-weight: 800 !important; color: #F4EEFF !important }
html body .bl-cumple .bl-cumple-4, html body .bl-cumple.bl-cumple-4 { min-height: 44px !important; display: flex !important; align-items: center !important; padding: 0 16px !important; background: #FF4F9A !important; color: #140B24 !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 700 !important; text-decoration: none !important }
html body .bl-cumple .bl-cumple-5, html body .bl-cumple.bl-cumple-5 { padding: 24px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 18px !important }
html body .bl-cumple .bl-cumple-6, html body .bl-cumple.bl-cumple-6 { font-size: 14px !important; font-weight: 700 !important; color: #C9A84C !important }
html body .bl-cumple .bl-cumple-7, html body .bl-cumple.bl-cumple-7 { margin: 0 !important; font-family: 'Syne', sans-serif !important; font-weight: 800 !important; font-size: 60px !important; line-height: 0.88 !important; letter-spacing: -0.02em !important; color: #F4EEFF !important }
html body .bl-cumple .bl-cumple-8, html body .bl-cumple.bl-cumple-8 { margin: 0 !important; font-size: 17px !important; line-height: 1.55 !important; color: #C6BCDB !important }
html body .bl-cumple .bl-cumple-9, html body .bl-cumple.bl-cumple-9 { min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #FF4F9A !important; color: #140B24 !important; border-radius: 14px !important; font-size: 17px !important; font-weight: 700 !important; text-decoration: none !important }
html body .bl-cumple .bl-cumple-10, html body .bl-cumple.bl-cumple-10 { min-height: 52px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid #4A3A66 !important; color: #F4EEFF !important; border-radius: 14px !important; font-size: 16px !important; font-weight: 500 !important; text-decoration: none !important }
html body .bl-cumple .bl-cumple-11, html body .bl-cumple.bl-cumple-11 { margin: 36px 24px 0 !important; height: 420px !important; background: #231640 !important; border: 1px solid #4A3A66 !important; border-radius: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 24px !important; box-sizing: border-box !important; transform: rotate(-2deg) !important }
html body .bl-cumple .bl-cumple-12, html body .bl-cumple.bl-cumple-12 { text-align: center !important; font-size: 14px !important; line-height: 1.5 !important; color: #A99CC4 !important }
html body .bl-cumple .bl-cumple-13, html body .bl-cumple.bl-cumple-13 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 18px !important }
html body .bl-cumple .bl-cumple-14, html body .bl-cumple.bl-cumple-14 { margin: 0 !important; font-family: 'Syne', sans-serif !important; font-weight: 800 !important; font-size: 38px !important; line-height: 0.95 !important; color: #F4EEFF !important }
html body .bl-cumple .bl-cumple-15, html body .bl-cumple.bl-cumple-15 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important }
html body .bl-cumple .bl-cumple-16, html body .bl-cumple.bl-cumple-16 { padding: 18px 16px !important; background: #231640 !important; border-radius: 16px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; grid-column: span 2 !important }
html body .bl-cumple .bl-cumple-17, html body .bl-cumple.bl-cumple-17 { font-size: 20px !important; font-weight: 700 !important; color: #FF6BAA !important }
html body .bl-cumple .bl-cumple-18, html body .bl-cumple.bl-cumple-18 { font-size: 15px !important; line-height: 1.45 !important; color: #C6BCDB !important }
html body .bl-cumple .bl-cumple-19, html body .bl-cumple.bl-cumple-19 { padding: 18px 16px !important; background: #231640 !important; border-radius: 16px !important; display: flex !important; flex-direction: column !important; gap: 8px !important }
html body .bl-cumple .bl-cumple-20, html body .bl-cumple.bl-cumple-20 { font-size: 17px !important; font-weight: 700 !important }
html body .bl-cumple .bl-cumple-21, html body .bl-cumple.bl-cumple-21 { font-size: 14px !important; line-height: 1.45 !important; color: #C6BCDB !important }
html body .bl-cumple .bl-cumple-22, html body .bl-cumple.bl-cumple-22 { padding: 56px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 14px !important }
html body .bl-cumple .bl-cumple-23, html body .bl-cumple.bl-cumple-23 { margin: 0 0 6px !important; font-family: 'Syne', sans-serif !important; font-weight: 800 !important; font-size: 38px !important; line-height: 0.95 !important }
html body .bl-cumple .bl-cumple-24, html body .bl-cumple.bl-cumple-24 { display: flex !important; gap: 14px !important; align-items: baseline !important; padding: 14px 0 !important; border-top: 1px solid #3A2C55 !important }
html body .bl-cumple .bl-cumple-25, html body .bl-cumple.bl-cumple-25 { font-family: 'Syne', sans-serif !important; font-size: 34px !important; font-weight: 800 !important; color: #C9A84C !important; width: 28px !important }
html body .bl-cumple .bl-cumple-26, html body .bl-cumple.bl-cumple-26 { display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-cumple .bl-cumple-27, html body .bl-cumple.bl-cumple-27 { font-size: 15px !important; line-height: 1.5 !important; color: #C6BCDB !important }
html body .bl-cumple .bl-cumple-28, html body .bl-cumple.bl-cumple-28 { display: flex !important; gap: 14px !important; align-items: baseline !important; padding: 14px 0 !important; border-top: 1px solid #3A2C55 !important; border-bottom: 1px solid #3A2C55 !important }
html body .bl-cumple .bl-cumple-29, html body .bl-cumple.bl-cumple-29 { padding: 48px 24px 0 !important; display: flex !important; flex-direction: column !important; gap: 10px !important }
html body .bl-cumple .bl-cumple-30, html body .bl-cumple.bl-cumple-30 { font-size: 15px !important; line-height: 1.5 !important; color: #F4EEFF !important }
html body .bl-cumple .bl-cumple-31, html body .bl-cumple.bl-cumple-31 { margin: 48px 16px 0 !important; padding: 30px 22px !important; background: #FF4F9A !important; color: #140B24 !important; border-radius: 24px !important; display: flex !important; flex-direction: column !important; gap: 16px !important }
html body .bl-cumple .bl-cumple-32, html body .bl-cumple.bl-cumple-32 { margin: 0 !important; font-family: 'Syne', sans-serif !important; font-weight: 800 !important; font-size: 42px !important; line-height: 0.9 !important }
html body .bl-cumple .bl-cumple-33, html body .bl-cumple.bl-cumple-33 { min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #140B24 !important; color: #F4EEFF !important; border-radius: 14px !important; font-size: 17px !important; font-weight: 700 !important; text-decoration: none !important }
html body .bl-cumple .bl-cumple-34, html body .bl-cumple.bl-cumple-34 { margin-top: auto !important; padding: 36px 24px 30px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 13px !important; color: #A99CC4 !important }
html body .bl-cumple .bl-cumple-35, html body .bl-cumple.bl-cumple-35 { text-decoration: none !important }

/* --- Landing empre --- */
body:has(.bl-empre) { background: #F2EDE3 !important; margin: 0 !important; padding: 0 !important; }
body .bl-empre, body .bl-empre * { box-sizing: border-box !important; }
body .bl-empre { font-family: Archivo, "Helvetica Neue", Helvetica, sans-serif !important; font-size: 16px !important; line-height: normal !important; -webkit-font-smoothing: antialiased; }
body .bl-empre div, body .bl-empre p, body .bl-empre li, body .bl-empre span, body .bl-empre section, body .bl-empre header, body .bl-empre footer { color: inherit !important; font-family: inherit !important; line-height: inherit !important; letter-spacing: inherit; }
body .bl-empre h1, body .bl-empre h2, body .bl-empre h3 { font-family: inherit !important; font-style: normal !important; font-weight: inherit !important; letter-spacing: normal !important; line-height: inherit !important; text-transform: none !important; color: inherit !important; margin: 0 !important; padding: 0 !important; }
body .bl-empre p { margin: 0 !important; }
body .bl-empre a { color: #3F5A2E !important; font-family: inherit !important; }
html body .bl-empre .bl-empre-1, html body .bl-empre.bl-empre-1 { width: 100% !important; max-width: 480px !important; margin: 0 auto !important; min-height: 100vh !important; box-sizing: border-box !important; background: #F2EDE3 !important; color: #121212 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important }
html body .bl-empre .bl-empre-2, html body .bl-empre.bl-empre-2 { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 18px 20px !important; border-bottom: 3px solid #121212 !important }
html body .bl-empre .bl-empre-3, html body .bl-empre.bl-empre-3 { font-size: 20px !important; font-weight: 900 !important; font-stretch: 80% !important }
html body .bl-empre .bl-empre-4, html body .bl-empre.bl-empre-4 { min-height: 44px !important; display: flex !important; align-items: center !important; padding: 0 14px !important; background: #121212 !important; color: #F2EDE3 !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important }
html body .bl-empre .bl-empre-5, html body .bl-empre.bl-empre-5 { padding: 26px 20px 0 !important; display: flex !important; flex-direction: column !important; gap: 18px !important }
html body .bl-empre .bl-empre-6, html body .bl-empre.bl-empre-6 { font-size: 14px !important; font-weight: 600 !important; color: #3F5A2E !important }
html body .bl-empre .bl-empre-7, html body .bl-empre.bl-empre-7 { margin: 0 !important; font-weight: 900 !important; font-stretch: 62% !important; font-size: 82px !important; line-height: 0.86 !important; letter-spacing: -0.01em !important; text-transform: uppercase !important }
html body .bl-empre .bl-empre-8, html body .bl-empre.bl-empre-8 { margin: 0 !important; font-size: 17px !important; line-height: 1.55 !important; color: #3B3B3B !important }
html body .bl-empre .bl-empre-9, html body .bl-empre.bl-empre-9 { margin: 26px 0 0 !important; padding: 18px 20px !important; background: #3F5A2E !important; color: #F2EDE3 !important; display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-empre .bl-empre-10, html body .bl-empre.bl-empre-10 { font-size: 13px !important; font-weight: 600 !important; color: #E2CF94 !important }
html body .bl-empre .bl-empre-11, html body .bl-empre.bl-empre-11 { font-size: 26px !important; font-weight: 900 !important; font-stretch: 75% !important; line-height: 1.05 !important }
html body .bl-empre .bl-empre-12, html body .bl-empre.bl-empre-12 { height: 380px !important; background: #D9D2C3 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 24px !important; box-sizing: border-box !important }
html body .bl-empre .bl-empre-13, html body .bl-empre.bl-empre-13 { text-align: center !important; font-size: 14px !important; line-height: 1.5 !important; color: #55504A !important }
html body .bl-empre .bl-empre-14, html body .bl-empre.bl-empre-14 { padding: 20px 20px 0 !important; display: flex !important; flex-direction: column !important; gap: 10px !important }
html body .bl-empre .bl-empre-15, html body .bl-empre.bl-empre-15 { min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #121212 !important; color: #F2EDE3 !important; font-size: 17px !important; font-weight: 600 !important; text-decoration: none !important }
html body .bl-empre .bl-empre-16, html body .bl-empre.bl-empre-16 { min-height: 52px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 2px solid #121212 !important; color: #121212 !important; font-size: 16px !important; font-weight: 600 !important; text-decoration: none !important }
html body .bl-empre .bl-empre-17, html body .bl-empre.bl-empre-17 { padding: 52px 20px 0 !important; display: flex !important; flex-direction: column !important }
html body .bl-empre .bl-empre-18, html body .bl-empre.bl-empre-18 { margin: 0 0 18px !important; font-weight: 900 !important; font-stretch: 62% !important; font-size: 52px !important; line-height: 0.9 !important; text-transform: uppercase !important }
html body .bl-empre .bl-empre-19, html body .bl-empre.bl-empre-19 { padding: 16px 0 !important; border-top: 3px solid #121212 !important; display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-empre .bl-empre-20, html body .bl-empre.bl-empre-20 { font-size: 20px !important; font-weight: 600 !important }
html body .bl-empre .bl-empre-21, html body .bl-empre.bl-empre-21 { font-size: 15px !important; line-height: 1.5 !important; color: #3B3B3B !important }
html body .bl-empre .bl-empre-22, html body .bl-empre.bl-empre-22 { padding: 16px 0 !important; border-top: 1px solid #121212 !important; display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-empre .bl-empre-23, html body .bl-empre.bl-empre-23 { padding: 16px 0 !important; border-top: 1px solid #121212 !important; border-bottom: 3px solid #121212 !important; display: flex !important; flex-direction: column !important; gap: 4px !important }
html body .bl-empre .bl-empre-24, html body .bl-empre.bl-empre-24 { margin: 52px 20px 0 !important; padding: 24px 20px !important; background: #121212 !important; color: #F2EDE3 !important; display: flex !important; flex-direction: column !important; gap: 14px !important }
html body .bl-empre .bl-empre-25, html body .bl-empre.bl-empre-25 { margin: 0 !important; font-weight: 900 !important; font-stretch: 75% !important; font-size: 30px !important; line-height: 1 !important }
html body .bl-empre .bl-empre-26, html body .bl-empre.bl-empre-26 { font-size: 15px !important; line-height: 1.5 !important; border-top: 1px solid #3A3A3A !important; padding-top: 12px !important }
html body .bl-empre .bl-empre-27, html body .bl-empre.bl-empre-27 { padding: 52px 20px 0 !important; display: flex !important; flex-direction: column !important; gap: 16px !important }
html body .bl-empre .bl-empre-28, html body .bl-empre.bl-empre-28 { margin: 0 !important; font-weight: 900 !important; font-stretch: 62% !important; font-size: 52px !important; line-height: 0.9 !important; text-transform: uppercase !important }
html body .bl-empre .bl-empre-29, html body .bl-empre.bl-empre-29 { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important }
html body .bl-empre .bl-empre-30, html body .bl-empre.bl-empre-30 { padding: 14px 10px !important; background: #FFFFFF !important; border: 2px solid #121212 !important; display: flex !important; flex-direction: column !important; gap: 8px !important }
html body .bl-empre .bl-empre-31, html body .bl-empre.bl-empre-31 { font-size: 30px !important; font-weight: 900 !important; color: #3F5A2E !important }
html body .bl-empre .bl-empre-32, html body .bl-empre.bl-empre-32 { font-size: 14px !important; line-height: 1.35 !important; font-weight: 600 !important }
html body .bl-empre .bl-empre-33, html body .bl-empre.bl-empre-33 { margin-top: 52px !important; padding: 32px 20px !important; background: #3F5A2E !important; color: #F2EDE3 !important; display: flex !important; flex-direction: column !important; gap: 18px !important }
html body .bl-empre .bl-empre-34, html body .bl-empre.bl-empre-34 { margin: 0 !important; font-weight: 900 !important; font-stretch: 62% !important; font-size: 56px !important; line-height: 0.88 !important; text-transform: uppercase !important }
html body .bl-empre .bl-empre-35, html body .bl-empre.bl-empre-35 { min-height: 56px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #F2EDE3 !important; color: #121212 !important; font-size: 17px !important; font-weight: 600 !important; text-decoration: none !important }
html body .bl-empre .bl-empre-36, html body .bl-empre.bl-empre-36 { margin-top: auto !important; padding: 28px 20px !important; background: #121212 !important; color: #BDB7AA !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 13px !important }
html body .bl-empre .bl-empre-37, html body .bl-empre.bl-empre-37 { text-decoration: none !important; color: #E2CF94 !important }
/* ==========================================================
   OFICIO TIPOGRÁFICO — comportamiento del texto en las landings
   ========================================================== */

/* Los titulares reparten sus líneas en bloques equilibrados
   en vez de dejar una palabra suelta al final */
html body .bl-l h1,
html body .bl-l h2 {
	text-wrap: balance !important;
	-webkit-hyphens: none !important;
	hyphens: none !important;
}

/* Los párrafos evitan líneas huérfanas y parten las palabras
   largas en vez de abrir huecos entre ellas */
html body .bl-l p,
html body .bl-l .bl-boda-19,
html body .bl-l .bl-boda-25,
html body .bl-l .bl-comu-18,
html body .bl-l .bl-cumple-18,
html body .bl-l .bl-cumple-21,
html body .bl-l .bl-cumple-27,
html body .bl-l .bl-empre-21 {
	text-wrap: pretty !important;
	-webkit-hyphens: auto !important;
	hyphens: auto !important;
	overflow-wrap: break-word !important;
}

/* Los titulares grandes necesitan menos espacio entre letras;
   los textos pequeños en mayúsculas, más */
html body .bl-l h1 { text-rendering: optimizeLegibility; }

/* Cifras de la misma anchura: los pasos 1, 2, 3 quedan alineados */
html body .bl-boda .bl-boda-28,
html body .bl-comu .bl-comu-20,
html body .bl-cumple .bl-cumple-25,
html body .bl-empre .bl-empre-31 {
	font-variant-numeric: tabular-nums !important;
	font-feature-settings: "tnum" 1 !important;
}
