{"id":4241,"date":"2026-08-26T11:21:05","date_gmt":"2026-08-26T09:21:05","guid":{"rendered":"https:\/\/casdanna.com\/en\/?page_id=4241"},"modified":"2026-08-26T11:21:05","modified_gmt":"2026-08-26T09:21:05","slug":"test-delete","status":"publish","type":"page","link":"https:\/\/casdanna.com\/en\/test-delete\/","title":{"rendered":"Test-DELETE"},"content":{"rendered":"\t\t<section\n\t\t\tclass=\"casdanna-beds24 casdanna-beds24--results\"\n\t\t\tdata-casdanna-beds24\n\t\t\tdata-lang=\"en\"\n\t\t\tdata-mode=\"results\"\n\t\t\tdata-room=\"0\"\n\t\t\tdata-results-url=\"\"\n\t\t\tdata-initial=\"{&quot;arrival&quot;:&quot;&quot;,&quot;departure&quot;:&quot;&quot;,&quot;adults&quot;:2,&quot;children&quot;:0,&quot;infants&quot;:0,&quot;cots&quot;:0,&quot;voucher_code&quot;:&quot;&quot;}\"\n\t\t\taria-labelledby=\"casdanna-beds24-1-title\"\n\t\t>\n\t\t\t<h2 id=\"casdanna-beds24-1-title\" class=\"casdanna-beds24__title\">Check availability and price<\/h2>\n\n\t\t\t<nav class=\"casdanna-beds24__steps\" aria-label=\"Search steps\">\n\t\t\t\t<button class=\"casdanna-beds24__step is-active\" type=\"button\" data-cdb24-step-button=\"dates\" aria-controls=\"casdanna-beds24-1-dates\">\n\t\t\t\t\t<span>1<\/span> Dates\t\t\t\t<\/button>\n\t\t\t\t<button class=\"casdanna-beds24__step\" type=\"button\" data-cdb24-step-button=\"travellers\" aria-controls=\"casdanna-beds24-1-travellers\">\n\t\t\t\t\t<span>2<\/span> Guests\t\t\t\t<\/button>\n\t\t\t<\/nav>\n\n\t\t\t<form class=\"casdanna-beds24__form\" novalidate>\n\t\t\t\t<input type=\"hidden\" name=\"arrival\" value=\"\">\n\t\t\t\t<input type=\"hidden\" name=\"departure\" value=\"\">\n\n\t\t\t\t<section id=\"casdanna-beds24-1-dates\" class=\"casdanna-beds24__panel\" data-cdb24-step-panel=\"dates\">\n\t\t\t\t\t<div class=\"casdanna-beds24__selection\" data-cdb24-date-summary>Select a check-in date<\/div>\n\t\t\t\t\t<div class=\"casdanna-beds24__calendar-toolbar\">\n\t\t\t\t\t\t<button type=\"button\" class=\"casdanna-beds24__calendar-nav\" data-cdb24-calendar-prev aria-label=\"Previous month\">\u2039<\/button>\n\t\t\t\t\t\t<p>Green: at least one apartment is available<\/p>\n\t\t\t\t\t\t<button type=\"button\" class=\"casdanna-beds24__calendar-nav\" data-cdb24-calendar-next aria-label=\"Next month\">\u203a<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"casdanna-beds24__calendar\" data-cdb24-calendar aria-busy=\"true\"><\/div>\n\t\t\t\t\t<p class=\"casdanna-beds24__calendar-note\" data-cdb24-calendar-note>Loading availability\u2026<\/p>\n\t\t\t\t\t<button class=\"casdanna-beds24__primary\" type=\"button\" data-cdb24-next disabled>Next<\/button>\n\t\t\t\t<\/section>\n\n\t\t\t\t<section id=\"casdanna-beds24-1-travellers\" class=\"casdanna-beds24__panel\" data-cdb24-step-panel=\"travellers\" hidden>\n\t\t\t\t\t<div class=\"casdanna-beds24__travellers\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<span>Adults<\/span>\n\t\t\t\t\t\t\t<small>Age 13 or over<\/small>\n\t\t\t\t\t\t\t<select name=\"adults\"><\/select>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<span>Children<\/span>\n\t\t\t\t\t\t\t<small>Ages 2 to 12<\/small>\n\t\t\t\t\t\t\t<select name=\"children\"><\/select>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<span>Infants<\/span>\n\t\t\t\t\t\t\t<small>Under 2<\/small>\n\t\t\t\t\t\t\t<select name=\"infants\"><\/select>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<span>Casdanna cots<\/span>\n\t\t\t\t\t\t\t<small>From 0 to the number of infants<\/small>\n\t\t\t\t\t\t\t<select name=\"cots\"><\/select>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<p class=\"casdanna-beds24__infant-note\">Infants are not included in the Beds24 price. A Casdanna cot and bedding, if requested, are paid on arrival.<\/p>\n\t\t\t\t\t<p class=\"casdanna-beds24__candidate-note\" data-cdb24-candidate-note><\/p>\n\t\t\t\t\t<button class=\"casdanna-beds24__primary casdanna-beds24__submit\" type=\"submit\">Check availability and prices<\/button>\n\t\t\t\t<\/section>\n\t\t\t<\/form>\n\n\t\t\t<div class=\"casdanna-beds24__status\" role=\"status\" aria-live=\"polite\"><\/div>\n\t\t\t<div class=\"casdanna-beds24__results\" aria-live=\"polite\"><\/div>\n\t\t\t<noscript><p>Enable JavaScript to check availability.<\/p><\/noscript>\n\t\t<\/section>\n\t\t\n\n\n<style>.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-none, 0rem );row-gap:var(--global-kb-gap-none, 0rem );max-width:943px;margin-left:auto;margin-right:auto;padding-top:0px;padding-bottom:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id4241_f5b6a8-c6 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id4241_f5b6a8-c6 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col,.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col{flex-direction:column;}.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column4241_b47fd4-f9{position:relative;}@media all and (max-width: 1024px){.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column4241_b47fd4-f9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column4241_b47fd4-f9\"><div class=\"kt-inside-inner-col\">\n<!--\n  CASDANNA BOOKING WIDGET \u2014 FRONT V1\n\n  Bloque autocontenido para un bloque HTML de WordPress\/Kadence.\n  No contiene credenciales, llamadas directas a Beds24 ni dependencias externas.\n\n  Contrato de env\u00edo:\n    arrival       YYYY-MM-DD\n    departure     YYYY-MM-DD (la noche de salida NO se ocupa)\n    adults        entero >= 1\n    children      entero >= 0 (2\u201312 a\u00f1os)\n    infants       entero 0\u20134 (<2 a\u00f1os; no se incluyen en el precio)\n    cots           entero 0\u2013infants (se pagan a la llegada)\n    voucher_code  cadena opcional\n    apartment     \"any\" en la home\n    lang          es | de | fr | en\n\n  Integraci\u00f3n con Chat 9:\n  1. Opci\u00f3n recomendada: definir window.CasdannaBookingApi.search(payload, widget).\n  2. Alternativa: escuchar el evento cancelable \"casdanna:booking-search\" y\n     llamar event.preventDefault() para indicar que el back se hace cargo.\n  3. Sin adaptador JS, el formulario se env\u00eda por GET a su action.\n\n  El calendario acepta datos mediante:\n    window.CasdannaBookingWidget.setCalendar([\n      { date: \"2026-08-29\", numAvail: 1, override: \"none\" }\n    ]);\n\n  override:\n    none | noCheckInOrCheckOut | noCheckIn | noCheckOut\n\n  Voucher:\n    window.CasdannaBookingWidget.setVoucherState(\"valid\", \"Descuento aplicado\");\n    idle | checking | valid | invalid | expired | inactive | error\n-->\n\n<section class=\"cbw\" data-casdanna-booking data-min-nights=\"7\" aria-label=\"Consulta de disponibilidad de Casdanna\">\n  <form class=\"cbw__form\" method=\"get\" action=\"\" novalidate>\n    <input type=\"hidden\" name=\"arrival\" value=\"\">\n    <input type=\"hidden\" name=\"departure\" value=\"\">\n    <input type=\"hidden\" name=\"adults\" value=\"2\">\n    <input type=\"hidden\" name=\"children\" value=\"0\">\n    <input type=\"hidden\" name=\"infants\" value=\"0\">\n    <input type=\"hidden\" name=\"cots\" value=\"0\">\n    <input type=\"hidden\" name=\"apartment\" value=\"any\">\n    <input type=\"hidden\" name=\"lang\" value=\"es\">\n\n    <noscript>\n      <div class=\"cbw__noscript\">\n        <p>Selecciona las fechas y los viajeros para consultar la disponibilidad.<\/p>\n        <label>Llegada <input type=\"date\" name=\"arrival\" required><\/label>\n        <label>Salida <input type=\"date\" name=\"departure\" required><\/label>\n        <label>Adultos <input type=\"number\" name=\"adults\" min=\"1\" max=\"6\" value=\"2\" required><\/label>\n        <label>Ni\u00f1os <input type=\"number\" name=\"children\" min=\"0\" max=\"6\" value=\"0\"><\/label>\n        <label>Beb\u00e9s <input type=\"number\" name=\"infants\" min=\"0\" max=\"4\" value=\"0\"><\/label>\n        <label>C\u00f3digo promocional <input type=\"text\" name=\"voucher_code\" autocomplete=\"off\"><\/label>\n        <button type=\"submit\">Buscar disponibilidad<\/button>\n      <\/div>\n    <\/noscript>\n\n    <div class=\"cbw__enhanced\" hidden>\n      <div class=\"cbw__bar\">\n        <button class=\"cbw__field cbw__field--dates\" type=\"button\"\n                aria-expanded=\"false\" aria-controls=\"cbw-dates-panel\" data-open=\"dates\">\n          <span class=\"cbw__field-label\" data-i18n=\"dates\">Fechas<\/span>\n          <span class=\"cbw__field-value\" data-date-summary data-i18n=\"addDates\">A\u00f1ade fechas<\/span>\n        <\/button>\n\n        <span class=\"cbw__divider\" aria-hidden=\"true\"><\/span>\n\n        <button class=\"cbw__field cbw__field--guests\" type=\"button\"\n                aria-expanded=\"false\" aria-controls=\"cbw-guests-panel\" data-open=\"guests\">\n          <span class=\"cbw__field-label\" data-i18n=\"guests\">Viajeros<\/span>\n          <span class=\"cbw__field-value\" data-guest-summary data-i18n=\"addGuests\">A\u00f1ade viajeros<\/span>\n        <\/button>\n\n        <button class=\"cbw__search\" type=\"submit\">\n          <svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" aria-hidden=\"true\" focusable=\"false\">\n            <path d=\"m21 21-4.7-4.7m2.2-5.3a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\/>\n          <\/svg>\n          <span data-i18n=\"search\">Buscar<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"cbw__promo\">\n        <button class=\"cbw__promo-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"cbw-promo-panel\" data-promo-toggle>\n          <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\" focusable=\"false\">\n            <path d=\"M20 13 13 20a2 2 0 0 1-2.8 0L4 13.8A2 2 0 0 1 4 11V5a1 1 0 0 1 1-1h6a2 2 0 0 1 1.4.6L20 12a.7.7 0 0 1 0 1Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\/>\n            <circle cx=\"8\" cy=\"8\" r=\"1.2\" fill=\"currentColor\"\/>\n          <\/svg>\n          <span data-i18n=\"haveVoucher\">\u00bfTienes un c\u00f3digo promocional?<\/span>\n        <\/button>\n        <div class=\"cbw__promo-panel\" id=\"cbw-promo-panel\" hidden>\n          <label class=\"cbw__promo-label\" for=\"cbw-voucher\" data-i18n=\"voucher\">C\u00f3digo promocional<\/label>\n          <div class=\"cbw__promo-control\">\n            <input id=\"cbw-voucher\" name=\"voucher_code\" type=\"text\" inputmode=\"text\"\n                   maxlength=\"40\" autocomplete=\"off\" autocapitalize=\"characters\"\n                   aria-describedby=\"cbw-voucher-status\">\n            <button type=\"button\" data-voucher-check data-i18n=\"apply\">Aplicar<\/button>\n          <\/div>\n          <p class=\"cbw__voucher-status\" id=\"cbw-voucher-status\" data-voucher-status aria-live=\"polite\"><\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"cbw__backdrop\" data-close-panel hidden><\/div>\n\n      <section class=\"cbw__panel cbw__panel--dates\" id=\"cbw-dates-panel\" role=\"dialog\"\n               aria-modal=\"false\" aria-labelledby=\"cbw-dates-title\" hidden tabindex=\"-1\">\n        <header class=\"cbw__panel-header\">\n          <h2 id=\"cbw-dates-title\" data-i18n=\"when\">\u00bfCu\u00e1ndo?<\/h2>\n          <button class=\"cbw__close\" type=\"button\" data-close-panel>\n            <span class=\"cbw__sr\" data-i18n=\"close\">Cerrar<\/span>\n            <svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\n              <path d=\"m6 6 12 12M18 6 6 18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n            <\/svg>\n          <\/button>\n        <\/header>\n\n        <div class=\"cbw__date-tabs\" role=\"group\" aria-label=\"Tipo de fechas\">\n          <span class=\"cbw__date-tab\" aria-current=\"true\" data-i18n=\"exactDates\">Fechas exactas<\/span>\n        <\/div>\n\n        <p class=\"cbw__calendar-help\" id=\"cbw-calendar-help\" data-calendar-help aria-live=\"polite\"><\/p>\n\n        <div class=\"cbw__calendar-nav\">\n          <button type=\"button\" data-prev-month>\n            <span class=\"cbw__sr\" data-i18n=\"previousMonth\">Mes anterior<\/span>\n            <svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" aria-hidden=\"true\"><path d=\"m15 5-7 7 7 7\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/button>\n          <button type=\"button\" data-next-month>\n            <span class=\"cbw__sr\" data-i18n=\"nextMonth\">Mes siguiente<\/span>\n            <svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" aria-hidden=\"true\"><path d=\"m9 5 7 7-7 7\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/button>\n        <\/div>\n\n        <div class=\"cbw__calendars\" data-calendars aria-describedby=\"cbw-calendar-help\"><\/div>\n\n        <div class=\"cbw__legend\" aria-label=\"Leyenda del calendario\">\n          <span><i class=\"cbw__legend-dot cbw__legend-dot--available\" aria-hidden=\"true\"><\/i><span data-i18n=\"available\">Disponible<\/span><\/span>\n          <span><i class=\"cbw__legend-dot cbw__legend-dot--selected\" aria-hidden=\"true\"><\/i><span data-i18n=\"selected\">Seleccionada<\/span><\/span>\n          <span><i class=\"cbw__legend-dot cbw__legend-dot--unavailable\" aria-hidden=\"true\"><\/i><span data-i18n=\"unavailable\">No disponible<\/span><\/span>\n        <\/div>\n\n        <footer class=\"cbw__panel-footer\">\n          <button class=\"cbw__reset\" type=\"button\" data-reset-dates data-i18n=\"reset\">Restablecer<\/button>\n          <button class=\"cbw__next\" type=\"button\" data-dates-next data-i18n=\"next\">Siguiente<\/button>\n        <\/footer>\n      <\/section>\n\n      <section class=\"cbw__panel cbw__panel--guests\" id=\"cbw-guests-panel\" role=\"dialog\"\n               aria-modal=\"false\" aria-labelledby=\"cbw-guests-title\" hidden tabindex=\"-1\">\n        <header class=\"cbw__panel-header\">\n          <h2 id=\"cbw-guests-title\" data-i18n=\"who\">\u00bfQui\u00e9n?<\/h2>\n          <button class=\"cbw__close\" type=\"button\" data-close-panel>\n            <span class=\"cbw__sr\" data-i18n=\"close\">Cerrar<\/span>\n            <svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\n              <path d=\"m6 6 12 12M18 6 6 18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n            <\/svg>\n          <\/button>\n        <\/header>\n\n        <div class=\"cbw__counter-list\">\n          <div class=\"cbw__counter\" data-counter=\"adults\">\n            <div>\n              <strong data-i18n=\"adults\">Adultos<\/strong>\n              <span data-i18n=\"adultsAge\">13 a\u00f1os o m\u00e1s<\/span>\n            <\/div>\n            <div class=\"cbw__stepper\">\n              <button type=\"button\" data-step=\"-1\"><span aria-hidden=\"true\">\u2212<\/span><span class=\"cbw__sr\" data-step-label=\"decreaseAdults\">Reducir adultos<\/span><\/button>\n              <output aria-live=\"polite\">2<\/output>\n              <button type=\"button\" data-step=\"1\"><span aria-hidden=\"true\">+<\/span><span class=\"cbw__sr\" data-step-label=\"increaseAdults\">A\u00f1adir adulto<\/span><\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"cbw__counter\" data-counter=\"children\">\n            <div>\n              <strong data-i18n=\"children\">Ni\u00f1os<\/strong>\n              <span data-i18n=\"childrenAge\">De 2 a 12 a\u00f1os<\/span>\n            <\/div>\n            <div class=\"cbw__stepper\">\n              <button type=\"button\" data-step=\"-1\"><span aria-hidden=\"true\">\u2212<\/span><span class=\"cbw__sr\" data-step-label=\"decreaseChildren\">Reducir ni\u00f1os<\/span><\/button>\n              <output aria-live=\"polite\">0<\/output>\n              <button type=\"button\" data-step=\"1\"><span aria-hidden=\"true\">+<\/span><span class=\"cbw__sr\" data-step-label=\"increaseChildren\">A\u00f1adir ni\u00f1o<\/span><\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"cbw__counter\" data-counter=\"infants\">\n            <div>\n              <strong data-i18n=\"infants\">Beb\u00e9s<\/strong>\n              <span data-i18n=\"infantsAge\">Menores de 2 a\u00f1os<\/span>\n            <\/div>\n            <div class=\"cbw__stepper\">\n              <button type=\"button\" data-step=\"-1\"><span aria-hidden=\"true\">\u2212<\/span><span class=\"cbw__sr\" data-step-label=\"decreaseInfants\">Reducir beb\u00e9s<\/span><\/button>\n              <output aria-live=\"polite\">0<\/output>\n              <button type=\"button\" data-step=\"1\"><span aria-hidden=\"true\">+<\/span><span class=\"cbw__sr\" data-step-label=\"increaseInfants\">A\u00f1adir beb\u00e9<\/span><\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"cbw__counter cbw__counter--cots\" data-counter=\"cots\" hidden>\n            <div>\n              <strong data-i18n=\"cots\">Cunas de viaje de Casdanna<\/strong>\n              <span data-i18n=\"cotsNote\">Pon 0 si llev\u00e1is las vuestras. Se pagan a la llegada y no se incluyen en el precio online.<\/span>\n            <\/div>\n            <div class=\"cbw__stepper\">\n              <button type=\"button\" data-step=\"-1\"><span aria-hidden=\"true\">\u2212<\/span><span class=\"cbw__sr\" data-step-label=\"decreaseCots\">Reducir cunas<\/span><\/button>\n              <output aria-live=\"polite\">0<\/output>\n              <button type=\"button\" data-step=\"1\"><span aria-hidden=\"true\">+<\/span><span class=\"cbw__sr\" data-step-label=\"increaseCots\">A\u00f1adir cuna<\/span><\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <p class=\"cbw__occupancy-note\" data-occupancy-note aria-live=\"polite\"><\/p>\n\n        <footer class=\"cbw__panel-footer\">\n          <button class=\"cbw__reset\" type=\"button\" data-reset-guests data-i18n=\"reset\">Restablecer<\/button>\n          <button class=\"cbw__panel-search\" type=\"button\" data-mobile-search>\n            <svg viewBox=\"0 0 24 24\" width=\"21\" height=\"21\" aria-hidden=\"true\"><path d=\"m21 21-4.7-4.7m2.2-5.3a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\/><\/svg>\n            <span data-i18n=\"search\">Buscar<\/span>\n          <\/button>\n        <\/footer>\n      <\/section>\n\n      <p class=\"cbw__status\" data-form-status aria-live=\"assertive\" role=\"alert\"><\/p>\n    <\/div>\n  <\/form>\n<\/section>\n\n<style>\n  .cbw {\n    --cbw-blue: #54B7D2;\n    --cbw-blue-soft: #EAF8FB;\n    --cbw-orange: #C46D30;\n    --cbw-orange-dark: #9A4A16;\n    --cbw-text: #2F3747;\n    --cbw-muted: #667085;\n    --cbw-surface: #FFFFFF;\n    --cbw-background: #F6FCFD;\n    --cbw-border: #D8E2E7;\n    --cbw-success: #26783A;\n    --cbw-error: #A12622;\n    --cbw-shadow: 0 18px 45px rgba(47, 55, 71, .18);\n    position: relative;\n    z-index: 20;\n    width: min(1120px, calc(100% - 32px));\n    margin: 0 auto;\n    color: var(--cbw-text);\n    font-family: Montserrat, Arial, sans-serif;\n    font-size: 16px;\n    line-height: 1.45;\n    isolation: isolate;\n  }\n\n  .cbw *, .cbw *::before, .cbw *::after { box-sizing: border-box; }\n  .cbw button, .cbw input { font: inherit; }\n  .cbw button { color: inherit; }\n\n  .cbw__sr {\n    position: absolute !important;\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n\n  .cbw__bar {\n    display: grid;\n    grid-template-columns: minmax(0, 1.25fr) 1px minmax(0, .85fr) auto;\n    align-items: stretch;\n    min-height: 84px;\n    padding: 8px;\n    border: 1px solid rgba(47, 55, 71, .18);\n    border-radius: 999px;\n    background: rgba(255, 255, 255, .97);\n    box-shadow: 0 12px 30px rgba(47, 55, 71, .16);\n  }\n\n  .cbw__field {\n    min-width: 0;\n    padding: 12px 28px;\n    border: 0;\n    border-radius: 999px;\n    background: transparent;\n    text-align: left;\n    cursor: pointer;\n  }\n\n  .cbw__field:hover { background: var(--cbw-background); }\n  .cbw__field[aria-expanded=\"true\"] {\n    background: var(--cbw-surface);\n    box-shadow: 0 0 0 2px var(--cbw-text), 0 8px 20px rgba(47, 55, 71, .12);\n  }\n\n  .cbw__field-label, .cbw__field-value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n  .cbw__field-label { margin-bottom: 2px; font-size: .88rem; font-weight: 700; }\n  .cbw__field-value { color: var(--cbw-muted); font-size: 1.05rem; }\n  .cbw__field-value.is-filled { color: var(--cbw-text); font-weight: 600; }\n  .cbw__divider { align-self: center; width: 1px; height: 42px; background: var(--cbw-border); }\n\n  .cbw__search, .cbw__panel-search {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 9px;\n    min-width: 146px;\n    min-height: 58px;\n    padding: 0 25px;\n    align-self: center;\n    border: 0;\n    border-radius: 999px;\n    background: var(--cbw-orange);\n    color: #FFFFFF;\n    font-size: 19px;\n    font-weight: 700;\n    cursor: pointer;\n  }\n  .cbw__search:hover, .cbw__panel-search:hover { background: var(--cbw-orange-dark); }\n  .cbw__search:disabled, .cbw__panel-search:disabled { cursor: wait; opacity: .62; }\n\n  .cbw__promo { margin: 10px 24px 0; }\n  .cbw__promo-toggle {\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    min-height: 44px;\n    padding: 4px 2px;\n    border: 0;\n    background: transparent;\n    color: var(--cbw-text);\n    font-weight: 650;\n    text-decoration: underline;\n    text-decoration-color: var(--cbw-blue);\n    text-underline-offset: 4px;\n    cursor: pointer;\n  }\n  .cbw__promo-toggle:hover { color: var(--cbw-orange); }\n  .cbw__promo-panel {\n    width: min(430px, 100%);\n    margin-top: 5px;\n    padding: 16px;\n    border: 1px solid var(--cbw-border);\n    border-radius: 18px;\n    background: var(--cbw-surface);\n    box-shadow: 0 12px 30px rgba(47, 55, 71, .12);\n  }\n  .cbw__promo-label { display: block; margin-bottom: 7px; font-size: .9rem; font-weight: 700; }\n  .cbw__promo-control { display: flex; gap: 8px; }\n  .cbw__promo-control input {\n    min-width: 0;\n    flex: 1;\n    min-height: 48px;\n    padding: 10px 13px;\n    border: 1px solid #AAB7C0;\n    border-radius: 11px;\n    color: var(--cbw-text);\n    text-transform: uppercase;\n  }\n  .cbw__promo-control button {\n    min-height: 48px;\n    padding: 0 16px;\n    border: 2px solid var(--cbw-text);\n    border-radius: 11px;\n    background: #FFFFFF;\n    font-weight: 700;\n    cursor: pointer;\n  }\n  .cbw__voucher-status { min-height: 1.45em; margin: 8px 0 0; font-size: .88rem; }\n  .cbw__voucher-status[data-state=\"valid\"] { color: var(--cbw-success); font-weight: 650; }\n  .cbw__voucher-status:is([data-state=\"invalid\"], [data-state=\"expired\"], [data-state=\"inactive\"], [data-state=\"error\"]) { color: var(--cbw-error); font-weight: 650; }\n\n  .cbw__backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 25;\n    background: rgba(20, 26, 34, .24);\n  }\n\n  .cbw__panel {\n    position: absolute;\n    top: 94px;\n    z-index: 30;\n    border: 1px solid var(--cbw-border);\n    border-radius: 28px;\n    background: var(--cbw-surface);\n    box-shadow: var(--cbw-shadow);\n  }\n  .cbw__panel--dates { left: 0; width: min(920px, 100%); padding: 24px 28px 22px; }\n  .cbw__panel--guests { right: 0; width: min(480px, 100%); padding: 24px 28px 22px; }\n  .cbw__panel-header { display: flex; align-items: center; justify-content: space-between; }\n  .cbw__panel-header h2 {\n    margin: 0;\n    color: var(--cbw-text);\n    font-family: Oswald, Montserrat, Arial, sans-serif;\n    font-size: 28px;\n    font-weight: 500;\n    line-height: 1.2;\n  }\n  .cbw__close {\n    display: none;\n    width: 44px;\n    height: 44px;\n    border: 0;\n    border-radius: 50%;\n    background: var(--cbw-background);\n    cursor: pointer;\n  }\n  .cbw__date-tabs { display: flex; justify-content: center; margin: 0 0 10px; }\n  .cbw__date-tab {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 42px;\n    padding: 0 22px;\n    border: 1px solid var(--cbw-border);\n    border-radius: 999px;\n    background: var(--cbw-background);\n    font-weight: 700;\n  }\n  .cbw__calendar-help { min-height: 24px; margin: 6px 50px 2px; color: var(--cbw-muted); text-align: center; font-size: .88rem; }\n  .cbw__calendar-nav { position: absolute; top: 92px; left: 24px; right: 24px; display: flex; justify-content: space-between; pointer-events: none; }\n  .cbw__calendar-nav button {\n    display: grid;\n    place-items: center;\n    width: 44px;\n    height: 44px;\n    padding: 0;\n    border: 1px solid transparent;\n    border-radius: 50%;\n    background: var(--cbw-background);\n    pointer-events: auto;\n    cursor: pointer;\n  }\n  .cbw__calendar-nav button:hover { border-color: var(--cbw-blue); }\n  .cbw__calendars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px; }\n  .cbw__month { min-width: 0; }\n  .cbw__month h3 { margin: 18px 45px 15px; text-align: center; font-size: 1.02rem; font-weight: 750; }\n  .cbw__weekdays, .cbw__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }\n  .cbw__weekdays span { display: grid; place-items: center; min-height: 34px; color: var(--cbw-muted); font-size: .78rem; font-weight: 700; }\n  .cbw__day-wrap { position: relative; display: grid; place-items: center; min-width: 0; min-height: 48px; }\n  .cbw__day {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    place-items: center;\n    width: 44px;\n    height: 44px;\n    padding: 0;\n    border: 1px solid transparent;\n    border-radius: 50%;\n    background: transparent;\n    color: var(--cbw-text);\n    font-weight: 650;\n    cursor: pointer;\n  }\n  .cbw__day::after {\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    bottom: 3px;\n    width: 4px;\n    height: 4px;\n    margin-left: -2px;\n    border-radius: 50%;\n    background: var(--cbw-success);\n    opacity: 0;\n  }\n  .cbw__day[data-known-available=\"true\"]::after { opacity: 1; }\n  .cbw__day:hover:not(:disabled) { border-color: var(--cbw-text); }\n  .cbw__day.is-selected { background: var(--cbw-text); color: #FFFFFF; }\n  .cbw__day.is-selected::after { background: #FFFFFF; }\n  .cbw__day-wrap.is-range::before { content: \"\"; position: absolute; inset: 4px 0; background: var(--cbw-blue-soft); }\n  .cbw__day-wrap.is-range-start::before { left: 50%; border-radius: 22px 0 0 22px; }\n  .cbw__day-wrap.is-range-end::before { right: 50%; border-radius: 0 22px 22px 0; }\n  .cbw__day:disabled { color: #9AA4AD; text-decoration: line-through; cursor: not-allowed; opacity: .58; }\n  .cbw__day.is-past { text-decoration: none; opacity: .36; }\n\n  .cbw__legend { display: flex; flex-wrap: wrap; gap: 15px 22px; margin-top: 16px; color: var(--cbw-muted); font-size: .8rem; }\n  .cbw__legend > span { display: inline-flex; align-items: center; gap: 7px; }\n  .cbw__legend-dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }\n  .cbw__legend-dot--available { background: var(--cbw-success); }\n  .cbw__legend-dot--selected { background: var(--cbw-text); }\n  .cbw__legend-dot--unavailable { border: 1px solid #9AA4AD; background: repeating-linear-gradient(135deg, transparent 0 3px, #9AA4AD 3px 4px); }\n\n  .cbw__counter-list { margin-top: 12px; }\n  .cbw__counter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; min-height: 100px; padding: 16px 0; border-bottom: 1px solid var(--cbw-border); }\n  .cbw__counter:last-child { border-bottom: 0; }\n  .cbw__counter strong, .cbw__counter span { display: block; }\n  .cbw__counter strong { margin-bottom: 3px; font-size: 1.03rem; }\n  .cbw__counter > div:first-child > span { color: var(--cbw-muted); font-size: .88rem; }\n  .cbw__stepper { display: grid; grid-template-columns: 44px 32px 44px; gap: 5px; align-items: center; }\n  .cbw__stepper button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #AAB7C0; border-radius: 50%; background: #FFFFFF; font-size: 1.45rem; cursor: pointer; }\n  .cbw__stepper button:hover:not(:disabled) { border-color: var(--cbw-text); background: var(--cbw-background); }\n  .cbw__stepper button:disabled { border-color: #DDE3E6; color: #AAB2B8; cursor: not-allowed; }\n  .cbw__stepper output { text-align: center; font-weight: 650; }\n  .cbw__occupancy-note { min-height: 1.4em; margin: 8px 0 0; color: var(--cbw-muted); font-size: .84rem; }\n  .cbw__occupancy-note.is-error { color: var(--cbw-error); font-weight: 650; }\n\n  .cbw__panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--cbw-border); }\n  .cbw__reset { min-height: 44px; padding: 0; border: 0; background: transparent; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }\n  .cbw__next, .cbw__panel-search { min-height: 50px; padding: 0 22px; border: 0; border-radius: 14px; background: var(--cbw-text); color: #FFFFFF; font-size: 1rem; font-weight: 700; cursor: pointer; }\n  .cbw__panel-search { display: none; }\n  .cbw__status { min-height: 1.45em; margin: 8px 24px 0; color: var(--cbw-error); font-weight: 650; }\n\n  .cbw :is(button, input):focus-visible { outline: 3px solid #111827; outline-offset: 3px; }\n  .cbw [hidden] { display: none !important; }\n  .cbw__noscript { padding: 18px; border-radius: 18px; background: #FFFFFF; }\n  .cbw__noscript label { display: block; margin: 10px 0; }\n  .cbw__noscript input { min-height: 44px; margin-left: 8px; }\n\n  @media (max-width: 720px) {\n    .cbw { width: min(100% - 24px, 560px); font-size: 16px; }\n    .cbw__bar { display: grid; grid-template-columns: 1fr; gap: 12px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }\n    .cbw__divider { display: none; }\n    .cbw__field {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 18px;\n      min-height: 76px;\n      padding: 15px 19px;\n      border: 1px solid rgba(47, 55, 71, .12);\n      border-radius: 20px;\n      background: rgba(255, 255, 255, .97);\n      box-shadow: 0 7px 22px rgba(47, 55, 71, .12);\n    }\n    .cbw__field[aria-expanded=\"true\"] { box-shadow: 0 0 0 2px var(--cbw-text), 0 7px 22px rgba(47, 55, 71, .12); }\n    .cbw__field-label, .cbw__field-value { margin: 0; }\n    .cbw__field-label { color: var(--cbw-muted); font-size: 1rem; }\n    .cbw__field-value { color: var(--cbw-text); font-size: 1rem; font-weight: 700; text-align: right; }\n    .cbw__search { width: 100%; min-height: 58px; border-radius: 18px; }\n    .cbw__promo { margin: 10px 5px 0; }\n    .cbw__promo-panel { width: 100%; }\n    .cbw__backdrop { z-index: 40; background: rgba(20, 26, 34, .55); }\n    .cbw__panel {\n      position: fixed;\n      inset: 0;\n      z-index: 50;\n      width: 100%;\n      max-width: none;\n      height: 100dvh;\n      padding: max(18px, env(safe-area-inset-top)) 18px max(16px, env(safe-area-inset-bottom));\n      border: 0;\n      border-radius: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n    }\n    .cbw__panel-header { position: sticky; top: calc(-1 * max(18px, env(safe-area-inset-top))); z-index: 10; margin: calc(-1 * max(18px, env(safe-area-inset-top))) -18px 4px; padding: max(18px, env(safe-area-inset-top)) 18px 12px; background: rgba(255,255,255,.98); }\n    .cbw__panel-header h2 { font-size: 32px; }\n    .cbw__close { display: grid; place-items: center; }\n    .cbw__date-tabs { margin-top: 12px; }\n    .cbw__calendar-help { margin: 8px 40px 3px; }\n    .cbw__calendar-nav { position: sticky; top: 70px; z-index: 8; left: auto; right: auto; margin: 0 -2px -44px; }\n    .cbw__calendars { grid-template-columns: 1fr; gap: 30px; padding-bottom: 84px; }\n    .cbw__month:nth-child(2) { display: none; }\n    .cbw__month h3 { margin-top: 17px; }\n    .cbw__day-wrap { min-height: 52px; }\n    .cbw__day { width: 46px; height: 46px; }\n    .cbw__legend { margin-bottom: 86px; }\n    .cbw__panel-footer {\n      position: fixed;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      z-index: 60;\n      min-height: 78px;\n      margin: 0;\n      padding: 12px 20px max(12px, env(safe-area-inset-bottom));\n      border-top: 1px solid var(--cbw-border);\n      background: rgba(255,255,255,.98);\n      box-shadow: 0 -8px 22px rgba(47,55,71,.09);\n    }\n    .cbw__panel--guests { padding-bottom: 96px; }\n    .cbw__counter { min-height: 108px; }\n    .cbw__counter--cots { align-items: start; }\n    .cbw__panel-search { display: inline-flex; min-width: 134px; border-radius: 14px; background: var(--cbw-orange); font-size: 19px; }\n    .cbw__next { min-width: 126px; }\n    body.cbw-lock { overflow: hidden; }\n  }\n\n  @media (max-width: 380px) {\n    .cbw__counter { grid-template-columns: 1fr; gap: 10px; }\n    .cbw__stepper { justify-self: end; }\n    .cbw__promo-control { flex-direction: column; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .cbw *, .cbw *::before, .cbw *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }\n  }\n\n  @media (forced-colors: active) {\n    .cbw__day.is-selected, .cbw__search, .cbw__panel-search, .cbw__next { border: 2px solid ButtonText; }\n    .cbw__day::after { forced-color-adjust: none; }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  const translations = {\n    es: {\n      widgetLabel: \"Consulta de disponibilidad de Casdanna\", dates: \"Fechas\", addDates: \"A\u00f1ade fechas\", guests: \"Viajeros\", addGuests: \"A\u00f1ade viajeros\",\n      search: \"Buscar\", haveVoucher: \"\u00bfTienes un c\u00f3digo promocional?\", voucher: \"C\u00f3digo promocional\", apply: \"Aplicar\", when: \"\u00bfCu\u00e1ndo?\", who: \"\u00bfQui\u00e9n?\",\n      exactDates: \"Fechas exactas\", dateTypeLabel: \"Tipo de fechas\", calendarLegend: \"Leyenda del calendario\", close: \"Cerrar\", previousMonth: \"Mes anterior\", nextMonth: \"Mes siguiente\", available: \"Disponible\", selected: \"Seleccionada\",\n      unavailable: \"No disponible\", reset: \"Restablecer\", next: \"Siguiente\", adults: \"Adultos\", adultsAge: \"13 a\u00f1os o m\u00e1s\", children: \"Ni\u00f1os\",\n      childrenAge: \"De 2 a 12 a\u00f1os\", infants: \"Beb\u00e9s\", infantsAge: \"Menores de 2 a\u00f1os\", cots: \"Cunas de viaje de Casdanna\",\n      cotsNote: \"Pon 0 si llev\u00e1is las vuestras. Se pagan a la llegada y no se incluyen en el precio online.\",\n      selectArrival: \"Selecciona la fecha de llegada.\", selectDeparture: \"Selecciona la salida (m\u00ednimo {n} noches).\", datesSelected: \"Estancia seleccionada: {n} noches.\",\n      minNightsError: \"La estancia m\u00ednima es de {n} noches.\", rangeUnavailable: \"Alguna noche de la estancia no est\u00e1 disponible.\", arrivalNotAllowed: \"Ese d\u00eda no permite la entrada.\",\n      departureNotAllowed: \"Ese d\u00eda no permite la salida.\", needDates: \"Selecciona las fechas de llegada y salida.\", needAdult: \"Debe viajar al menos un adulto.\",\n      guest: \"viajero\", guestsPlural: \"viajeros\", infant: \"beb\u00e9\", infantsPlural: \"beb\u00e9s\", occupancyLimit: \"Con {i} beb\u00e9s se pueden seleccionar como m\u00e1ximo {t} viajeros.\",\n      voucherEmpty: \"Introduce el c\u00f3digo promocional.\", voucherChecking: \"Comprobando el c\u00f3digo\u2026\", voucherPending: \"El c\u00f3digo se comprobar\u00e1 al buscar.\", voucherValid: \"C\u00f3digo promocional v\u00e1lido.\",\n      voucherInvalid: \"El c\u00f3digo promocional no es v\u00e1lido.\", voucherExpired: \"El c\u00f3digo promocional ha caducado.\", voucherInactive: \"El c\u00f3digo promocional no est\u00e1 activo.\",\n      genericError: \"No se ha podido completar la consulta. Int\u00e9ntalo de nuevo.\", searching: \"Consultando disponibilidad\u2026\",\n      decreaseAdults: \"Reducir adultos\", increaseAdults: \"A\u00f1adir adulto\", decreaseChildren: \"Reducir ni\u00f1os\", increaseChildren: \"A\u00f1adir ni\u00f1o\",\n      decreaseInfants: \"Reducir beb\u00e9s\", increaseInfants: \"A\u00f1adir beb\u00e9\", decreaseCots: \"Reducir cunas\", increaseCots: \"A\u00f1adir cuna\",\n      statusAvailable: \"disponible\", statusUnavailable: \"no disponible\", statusNoCheckIn: \"sin entrada\", statusNoCheckOut: \"sin salida\"\n    },\n    de: {\n      widgetLabel: \"Verf\u00fcgbarkeit von Casdanna pr\u00fcfen\", dates: \"Reisedaten\", addDates: \"Daten hinzuf\u00fcgen\", guests: \"G\u00e4ste\", addGuests: \"G\u00e4ste hinzuf\u00fcgen\",\n      search: \"Suchen\", haveVoucher: \"Habt ihr einen Gutscheincode?\", voucher: \"Gutscheincode\", apply: \"Anwenden\", when: \"Wann?\", who: \"Wer?\",\n      exactDates: \"Genaue Daten\", dateTypeLabel: \"Art der Reisedaten\", calendarLegend: \"Kalenderlegende\", close: \"Schlie\u00dfen\", previousMonth: \"Vorheriger Monat\", nextMonth: \"N\u00e4chster Monat\", available: \"Verf\u00fcgbar\", selected: \"Ausgew\u00e4hlt\",\n      unavailable: \"Nicht verf\u00fcgbar\", reset: \"Zur\u00fccksetzen\", next: \"Weiter\", adults: \"Erwachsene\", adultsAge: \"Ab 13 Jahren\", children: \"Kinder\",\n      childrenAge: \"2 bis 12 Jahre\", infants: \"Babys\", infantsAge: \"Unter 2 Jahren\", cots: \"Reisebetten von Casdanna\",\n      cotsNote: \"W\u00e4hlt 0, wenn ihr eigene mitbringt. Zahlung bei Ankunft; nicht im Onlinepreis enthalten.\",\n      selectArrival: \"W\u00e4hlt das Anreisedatum.\", selectDeparture: \"W\u00e4hlt die Abreise (mindestens {n} N\u00e4chte).\", datesSelected: \"Ausgew\u00e4hlter Aufenthalt: {n} N\u00e4chte.\",\n      minNightsError: \"Der Mindestaufenthalt betr\u00e4gt {n} N\u00e4chte.\", rangeUnavailable: \"Mindestens eine Nacht des Aufenthalts ist nicht verf\u00fcgbar.\", arrivalNotAllowed: \"An diesem Tag ist keine Anreise m\u00f6glich.\",\n      departureNotAllowed: \"An diesem Tag ist keine Abreise m\u00f6glich.\", needDates: \"W\u00e4hlt An- und Abreisedatum.\", needAdult: \"Mindestens ein Erwachsener muss mitreisen.\",\n      guest: \"Gast\", guestsPlural: \"G\u00e4ste\", infant: \"Baby\", infantsPlural: \"Babys\", occupancyLimit: \"Mit {i} Babys k\u00f6nnen h\u00f6chstens {t} weitere G\u00e4ste ausgew\u00e4hlt werden.\",\n      voucherEmpty: \"Gebt den Gutscheincode ein.\", voucherChecking: \"Gutscheincode wird gepr\u00fcft\u2026\", voucherPending: \"Der Gutscheincode wird bei der Suche gepr\u00fcft.\", voucherValid: \"Gutscheincode g\u00fcltig.\",\n      voucherInvalid: \"Der Gutscheincode ist ung\u00fcltig.\", voucherExpired: \"Der Gutscheincode ist abgelaufen.\", voucherInactive: \"Der Gutscheincode ist nicht aktiv.\",\n      genericError: \"Die Anfrage konnte nicht abgeschlossen werden. Bitte versucht es erneut.\", searching: \"Verf\u00fcgbarkeit wird gepr\u00fcft\u2026\",\n      decreaseAdults: \"Weniger Erwachsene\", increaseAdults: \"Erwachsenen hinzuf\u00fcgen\", decreaseChildren: \"Weniger Kinder\", increaseChildren: \"Kind hinzuf\u00fcgen\",\n      decreaseInfants: \"Weniger Babys\", increaseInfants: \"Baby hinzuf\u00fcgen\", decreaseCots: \"Weniger Reisebetten\", increaseCots: \"Reisebett hinzuf\u00fcgen\",\n      statusAvailable: \"verf\u00fcgbar\", statusUnavailable: \"nicht verf\u00fcgbar\", statusNoCheckIn: \"keine Anreise\", statusNoCheckOut: \"keine Abreise\"\n    },\n    fr: {\n      widgetLabel: \"Consulter les disponibilit\u00e9s de Casdanna\", dates: \"Dates\", addDates: \"Ajouter des dates\", guests: \"Voyageurs\", addGuests: \"Ajouter des voyageurs\",\n      search: \"Rechercher\", haveVoucher: \"Vous avez un code promotionnel ?\", voucher: \"Code promotionnel\", apply: \"Appliquer\", when: \"Quand ?\", who: \"Qui ?\",\n      exactDates: \"Dates exactes\", dateTypeLabel: \"Type de dates\", calendarLegend: \"L\u00e9gende du calendrier\", close: \"Fermer\", previousMonth: \"Mois pr\u00e9c\u00e9dent\", nextMonth: \"Mois suivant\", available: \"Disponible\", selected: \"S\u00e9lectionn\u00e9e\",\n      unavailable: \"Indisponible\", reset: \"R\u00e9initialiser\", next: \"Suivant\", adults: \"Adultes\", adultsAge: \"13 ans ou plus\", children: \"Enfants\",\n      childrenAge: \"De 2 \u00e0 12 ans\", infants: \"B\u00e9b\u00e9s\", infantsAge: \"Moins de 2 ans\", cots: \"Lits b\u00e9b\u00e9 de Casdanna\",\n      cotsNote: \"Indiquez 0 si vous apportez les v\u00f4tres. Paiement \u00e0 l\u2019arriv\u00e9e ; non compris dans le prix en ligne.\",\n      selectArrival: \"S\u00e9lectionnez la date d\u2019arriv\u00e9e.\", selectDeparture: \"S\u00e9lectionnez le d\u00e9part (minimum {n} nuits).\", datesSelected: \"S\u00e9jour s\u00e9lectionn\u00e9 : {n} nuits.\",\n      minNightsError: \"Le s\u00e9jour minimum est de {n} nuits.\", rangeUnavailable: \"Au moins une nuit du s\u00e9jour n\u2019est pas disponible.\", arrivalNotAllowed: \"L\u2019arriv\u00e9e n\u2019est pas autoris\u00e9e ce jour-l\u00e0.\",\n      departureNotAllowed: \"Le d\u00e9part n\u2019est pas autoris\u00e9 ce jour-l\u00e0.\", needDates: \"S\u00e9lectionnez les dates d\u2019arriv\u00e9e et de d\u00e9part.\", needAdult: \"Au moins un adulte doit voyager.\",\n      guest: \"voyageur\", guestsPlural: \"voyageurs\", infant: \"b\u00e9b\u00e9\", infantsPlural: \"b\u00e9b\u00e9s\", occupancyLimit: \"Avec {i} b\u00e9b\u00e9s, vous pouvez s\u00e9lectionner au maximum {t} autres voyageurs.\",\n      voucherEmpty: \"Saisissez le code promotionnel.\", voucherChecking: \"V\u00e9rification du code\u2026\", voucherPending: \"Le code sera v\u00e9rifi\u00e9 lors de la recherche.\", voucherValid: \"Code promotionnel valide.\",\n      voucherInvalid: \"Le code promotionnel n\u2019est pas valide.\", voucherExpired: \"Le code promotionnel a expir\u00e9.\", voucherInactive: \"Le code promotionnel n\u2019est pas actif.\",\n      genericError: \"La recherche n\u2019a pas pu aboutir. Veuillez r\u00e9essayer.\", searching: \"Recherche des disponibilit\u00e9s\u2026\",\n      decreaseAdults: \"Retirer un adulte\", increaseAdults: \"Ajouter un adulte\", decreaseChildren: \"Retirer un enfant\", increaseChildren: \"Ajouter un enfant\",\n      decreaseInfants: \"Retirer un b\u00e9b\u00e9\", increaseInfants: \"Ajouter un b\u00e9b\u00e9\", decreaseCots: \"Retirer un lit b\u00e9b\u00e9\", increaseCots: \"Ajouter un lit b\u00e9b\u00e9\",\n      statusAvailable: \"disponible\", statusUnavailable: \"indisponible\", statusNoCheckIn: \"arriv\u00e9e impossible\", statusNoCheckOut: \"d\u00e9part impossible\"\n    },\n    en: {\n      widgetLabel: \"Check Casdanna availability\", dates: \"Dates\", addDates: \"Add dates\", guests: \"Guests\", addGuests: \"Add guests\",\n      search: \"Search\", haveVoucher: \"Do you have a promotional code?\", voucher: \"Promotional code\", apply: \"Apply\", when: \"When?\", who: \"Who?\",\n      exactDates: \"Exact dates\", dateTypeLabel: \"Date type\", calendarLegend: \"Calendar key\", close: \"Close\", previousMonth: \"Previous month\", nextMonth: \"Next month\", available: \"Available\", selected: \"Selected\",\n      unavailable: \"Unavailable\", reset: \"Reset\", next: \"Next\", adults: \"Adults\", adultsAge: \"Aged 13 or over\", children: \"Children\",\n      childrenAge: \"Aged 2\u201312\", infants: \"Babies\", infantsAge: \"Under 2\", cots: \"Casdanna travel cots\",\n      cotsNote: \"Select 0 if you are bringing your own. Payable on arrival; not included in the online price.\",\n      selectArrival: \"Select your arrival date.\", selectDeparture: \"Select your departure (minimum {n} nights).\", datesSelected: \"Selected stay: {n} nights.\",\n      minNightsError: \"The minimum stay is {n} nights.\", rangeUnavailable: \"At least one night of the stay is unavailable.\", arrivalNotAllowed: \"Check-in is not allowed on that date.\",\n      departureNotAllowed: \"Check-out is not allowed on that date.\", needDates: \"Select your arrival and departure dates.\", needAdult: \"At least one adult must be travelling.\",\n      guest: \"guest\", guestsPlural: \"guests\", infant: \"baby\", infantsPlural: \"babies\", occupancyLimit: \"With {i} babies, you can select no more than {t} other guests.\",\n      voucherEmpty: \"Enter the promotional code.\", voucherChecking: \"Checking the code\u2026\", voucherPending: \"The code will be checked when you search.\", voucherValid: \"Valid promotional code.\",\n      voucherInvalid: \"The promotional code is not valid.\", voucherExpired: \"The promotional code has expired.\", voucherInactive: \"The promotional code is not active.\",\n      genericError: \"We could not complete the search. Please try again.\", searching: \"Checking availability\u2026\",\n      decreaseAdults: \"Remove an adult\", increaseAdults: \"Add an adult\", decreaseChildren: \"Remove a child\", increaseChildren: \"Add a child\",\n      decreaseInfants: \"Remove a baby\", increaseInfants: \"Add a baby\", decreaseCots: \"Remove a travel cot\", increaseCots: \"Add a travel cot\",\n      statusAvailable: \"available\", statusUnavailable: \"unavailable\", statusNoCheckIn: \"no check-in\", statusNoCheckOut: \"no check-out\"\n    }\n  };\n\n  const localeMap = { es: \"es-ES\", de: \"de-DE\", fr: \"fr-FR\", en: \"en-GB\" };\n  const pad = n => String(n).padStart(2, \"0\");\n  const toISO = d => `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\n  const fromISO = s => {\n    if (!\/^\\d{4}-\\d{2}-\\d{2}$\/.test(s || \"\")) return null;\n    const [y, m, d] = s.split(\"-\").map(Number);\n    const date = new Date(y, m - 1, d, 12);\n    return (date.getFullYear() !== y || date.getMonth() !== m - 1 || date.getDate() !== d) ? null : date;\n  };\n  const addDays = (d, n) => { const x = new Date(d); x.setDate(x.getDate() + n); return x; };\n  const addMonths = (d, n) => { const x = new Date(d.getFullYear(), d.getMonth() + n, 1, 12); return x; };\n  const daysBetween = (a, b) => Math.round((Date.UTC(b.getFullYear(), b.getMonth(), b.getDate()) - Date.UTC(a.getFullYear(), a.getMonth(), a.getDate())) \/ 86400000);\n  const sameDay = (a, b) => {\n    if (!a || !b) return false;\n    return toISO(a) === toISO(b);\n  };\n\n  function detectLanguage() {\n    const first = location.pathname.split(\"\/\").filter(Boolean)[0];\n    if ([\"de\", \"fr\", \"en\"].includes(first)) return first;\n    const htmlLang = (document.documentElement.lang || \"es\").toLowerCase().slice(0, 2);\n    return translations[htmlLang] ? htmlLang : \"es\";\n  }\n\n  function namespaceIds(root, suffix) {\n    const idMap = new Map();\n    root.querySelectorAll(\"[id]\").forEach(element => {\n      const oldId = element.id;\n      const newId = `${oldId}-${suffix}`;\n      idMap.set(oldId, newId);\n      element.id = newId;\n    });\n    [\"for\", \"aria-controls\", \"aria-labelledby\", \"aria-describedby\"].forEach(attribute => {\n      root.querySelectorAll(`[${attribute}]`).forEach(element => {\n        const values = element.getAttribute(attribute).split(\/\\s+\/).map(value => idMap.get(value) || value);\n        element.setAttribute(attribute, values.join(\" \"));\n      });\n    });\n  }\n\n  function init(root, instanceIndex) {\n    if (root.dataset.cbwReady === \"true\") return;\n    root.dataset.cbwReady = \"true\";\n    const instanceId = `cbw${instanceIndex + 1}`;\n    namespaceIds(root, instanceId);\n\n    const form = root.querySelector(\".cbw__form\");\n    const enhanced = root.querySelector(\".cbw__enhanced\");\n    const lang = detectLanguage();\n    const t = translations[lang];\n    const locale = localeMap[lang];\n    const minNights = Math.max(1, Number(root.dataset.minNights) || 7);\n    const today = new Date();\n    today.setHours(12, 0, 0, 0);\n\n    const state = {\n      arrival: null,\n      departure: null,\n      selecting: \"arrival\",\n      adults: 2,\n      children: 0,\n      infants: 0,\n      cots: 0,\n      month: new Date(today.getFullYear(), today.getMonth(), 1, 12),\n      calendar: new Map(),\n      activePanel: null,\n      lastTrigger: null,\n      busy: false\n    };\n\n    const fields = {\n      arrival: form.elements.arrival,\n      departure: form.elements.departure,\n      adults: form.elements.adults,\n      children: form.elements.children,\n      infants: form.elements.infants,\n      cots: form.elements.cots,\n      lang: form.elements.lang\n    };\n    fields.lang.value = lang;\n    root.setAttribute(\"aria-label\", t.widgetLabel);\n\n    root.querySelectorAll(\"[data-i18n]\").forEach(el => {\n      const value = t[el.dataset.i18n];\n      if (value) el.textContent = value;\n    });\n    root.querySelectorAll(\"[data-step-label]\").forEach(el => {\n      const value = t[el.dataset.stepLabel];\n      if (value) el.textContent = value;\n    });\n    root.querySelector(\".cbw__date-tabs\").setAttribute(\"aria-label\", t.dateTypeLabel);\n    root.querySelector(\".cbw__legend\").setAttribute(\"aria-label\", t.calendarLegend);\n    enhanced.hidden = false;\n\n    const formatShort = d => new Intl.DateTimeFormat(locale, { day: \"numeric\", month: \"short\" }).format(d).replace(\/\\.$\/, \"\");\n    const formatLong = d => new Intl.DateTimeFormat(locale, { weekday: \"long\", day: \"numeric\", month: \"long\", year: \"numeric\" }).format(d);\n    const replace = (s, values) => Object.entries(values).reduce((out, [key, value]) => out.replaceAll(`{${key}}`, value), s);\n\n    function calendarMeta(date) {\n      const raw = state.calendar.get(toISO(date));\n      if (!raw) return { known: false, canOccupy: true, canCheckIn: true, canCheckOut: true, override: \"none\" };\n      const numAvail = Number(raw.numAvail || 0);\n      const override = raw.override || \"none\";\n      return {\n        known: true,\n        canOccupy: numAvail > 0,\n        canCheckIn: !(numAvail <= 0 || override === \"noCheckIn\" || override === \"noCheckInOrCheckOut\"),\n        canCheckOut: !(override === \"noCheckOut\" || override === \"noCheckInOrCheckOut\"),\n        override\n      };\n    }\n\n    function rangeCanBeOccupied(start, end) {\n      for (let d = new Date(start); d < end; d = addDays(d, 1)) {\n        if (!calendarMeta(d).canOccupy) return false;\n      }\n      return true;\n    }\n\n    function maxTravellers() {\n      if (state.infants === 4) return 4;\n      if (state.infants === 3) return 5;\n      return 7;\n    }\n\n    function updateHiddenFields() {\n      fields.arrival.value = state.arrival ? toISO(state.arrival) : \"\";\n      fields.departure.value = state.departure ? toISO(state.departure) : \"\";\n      fields.adults.value = state.adults;\n      fields.children.value = state.children;\n      fields.infants.value = state.infants;\n      fields.cots.value = state.cots;\n    }\n\n    function updateSummaries() {\n      const dateSummary = root.querySelector(\"[data-date-summary]\");\n      if (!(!state.arrival || !state.departure)) {\n        dateSummary.textContent = `${formatShort(state.arrival)} \u2013 ${formatShort(state.departure)}`;\n        dateSummary.classList.add(\"is-filled\");\n      } else if (state.arrival) {\n        dateSummary.textContent = `${formatShort(state.arrival)} \u2013 \u2026`;\n        dateSummary.classList.add(\"is-filled\");\n      } else {\n        dateSummary.textContent = t.addDates;\n        dateSummary.classList.remove(\"is-filled\");\n      }\n\n      const total = state.adults + state.children;\n      const guestWord = total === 1 ? t.guest : t.guestsPlural;\n      const infantText = state.infants ? `, ${state.infants} ${state.infants === 1 ? t.infant : t.infantsPlural}` : \"\";\n      const guestSummary = root.querySelector(\"[data-guest-summary]\");\n      guestSummary.textContent = `${total} ${guestWord}${infantText}`;\n      guestSummary.classList.add(\"is-filled\");\n    }\n\n    function updateCalendarHelp(message) {\n      const el = root.querySelector(\"[data-calendar-help]\");\n      if (message) el.textContent = message;\n      else if (!state.arrival) el.textContent = t.selectArrival;\n      else if (!state.departure) el.textContent = replace(t.selectDeparture, { n: minNights });\n      else el.textContent = replace(t.datesSelected, { n: daysBetween(state.arrival, state.departure) });\n    }\n\n    function updateCounters() {\n      [\"adults\", \"children\", \"infants\", \"cots\"].forEach(name => {\n        const row = root.querySelector(`[data-counter=\"${name}\"]`);\n        row.querySelector(\"output\").textContent = state[name];\n        const minus = row.querySelector('[data-step=\"-1\"]');\n        const plus = row.querySelector('[data-step=\"1\"]');\n        const total = state.adults + state.children;\n        minus.disabled = name === \"adults\" ? state.adults <= 1 : state[name] <= 0;\n        if (name === \"adults\") plus.disabled = state.adults >= 6 || total >= maxTravellers();\n        if (name === \"children\") plus.disabled = total >= maxTravellers();\n        if (name === \"infants\") plus.disabled = state.infants >= 4;\n        if (name === \"cots\") plus.disabled = state.cots >= state.infants;\n      });\n\n      const cotsRow = root.querySelector('[data-counter=\"cots\"]');\n      cotsRow.hidden = state.infants === 0;\n      const note = root.querySelector(\"[data-occupancy-note]\");\n      note.classList.remove(\"is-error\");\n      note.textContent = state.infants >= 3 ? replace(t.occupancyLimit, { i: state.infants, t: maxTravellers() }) : \"\";\n    }\n\n    function sync() {\n      updateHiddenFields();\n      updateSummaries();\n      updateCounters();\n    }\n\n    function weekdayLabels() {\n      const monday = new Date(2026, 0, 5, 12);\n      return Array.from({ length: 7 }, (_, i) => new Intl.DateTimeFormat(locale, { weekday: \"narrow\" }).format(addDays(monday, i)));\n    }\n\n    function dateStatus(meta) {\n      const parts = [];\n      if (meta.known) parts.push(meta.canOccupy ? t.statusAvailable : t.statusUnavailable);\n      if (!meta.canCheckIn) parts.push(t.statusNoCheckIn);\n      if (!meta.canCheckOut) parts.push(t.statusNoCheckOut);\n      return parts.join(\", \");\n    }\n\n    function renderMonth(month, index) {\n      const section = document.createElement(\"section\");\n      section.className = \"cbw__month\";\n      const title = document.createElement(\"h3\");\n      title.id = `cbw-month-${instanceId}-${toISO(month)}-${index}`;\n      title.textContent = new Intl.DateTimeFormat(locale, { month: \"long\", year: \"numeric\" }).format(month);\n      section.appendChild(title);\n\n      const weekdays = document.createElement(\"div\");\n      weekdays.className = \"cbw__weekdays\";\n      weekdays.setAttribute(\"aria-hidden\", \"true\");\n      weekdayLabels().forEach(label => { const span = document.createElement(\"span\"); span.textContent = label; weekdays.appendChild(span); });\n      section.appendChild(weekdays);\n\n      const grid = document.createElement(\"div\");\n      grid.className = \"cbw__days\";\n      grid.setAttribute(\"role\", \"grid\");\n      grid.setAttribute(\"aria-labelledby\", title.id);\n\n      const firstOffset = (month.getDay() + 6) % 7;\n      const days = new Date(month.getFullYear(), month.getMonth() + 1, 0).getDate();\n      for (let i = 0; i < firstOffset; i++) {\n        const blank = document.createElement(\"span\");\n        blank.className = \"cbw__day-wrap\";\n        blank.setAttribute(\"aria-hidden\", \"true\");\n        grid.appendChild(blank);\n      }\n\n      for (let day = 1; day <= days; day++) {\n        const date = new Date(month.getFullYear(), month.getMonth(), day, 12);\n        const iso = toISO(date);\n        const meta = calendarMeta(date);\n        const past = date < today;\n        const selected = sameDay(date, state.arrival) || sameDay(date, state.departure);\n        const inRange = (!state.arrival || !state.departure) ? false : !(date <= state.arrival || date >= state.departure);\n        const isStart = sameDay(date, state.arrival);\n        const isEnd = sameDay(date, state.departure);\n        let disabled = past;\n        if (state.selecting === \"arrival\") disabled = disabled || !meta.canCheckIn;\n        if (!(state.selecting !== \"departure\" || !state.arrival)) {\n          disabled = disabled || date <= state.arrival || daysBetween(state.arrival, date) < minNights || !meta.canCheckOut;\n        }\n\n        const wrap = document.createElement(\"span\");\n        wrap.className = \"cbw__day-wrap\";\n        wrap.setAttribute(\"role\", \"gridcell\");\n        wrap.setAttribute(\"aria-selected\", selected ? \"true\" : \"false\");\n        if (inRange || isStart || isEnd) wrap.classList.add(\"is-range\");\n        if (isStart) wrap.classList.add(\"is-range-start\");\n        if (isEnd) wrap.classList.add(\"is-range-end\");\n\n        const button = document.createElement(\"button\");\n        button.type = \"button\";\n        button.className = \"cbw__day\";\n        if (selected) button.classList.add(\"is-selected\");\n        if (past) button.classList.add(\"is-past\");\n        button.dataset.date = iso;\n        button.dataset.knownAvailable = (!meta.known || !meta.canOccupy) ? \"false\" : \"true\";\n        button.setAttribute(\"aria-current\", selected ? \"date\" : \"false\");\n        const status = dateStatus(meta);\n        button.setAttribute(\"aria-label\", `${formatLong(date)}${status ? `, ${status}` : \"\"}`);\n        button.disabled = disabled;\n        button.textContent = day;\n        wrap.appendChild(button);\n        grid.appendChild(wrap);\n      }\n\n      const buttons = Array.from(grid.querySelectorAll(\".cbw__day:not(:disabled)\"));\n      buttons.forEach(button => { button.tabIndex = -1; });\n      const tabStop = buttons.find(button => button.classList.contains(\"is-selected\")) ||\n                      buttons.find(button => button.dataset.date === toISO(today)) ||\n                      buttons[0];\n      if (tabStop) tabStop.tabIndex = 0;\n\n      section.appendChild(grid);\n      return section;\n    }\n\n    function renderCalendars(focusISO) {\n      const holder = root.querySelector(\"[data-calendars]\");\n      holder.replaceChildren(renderMonth(state.month, 0), renderMonth(addMonths(state.month, 1), 1));\n      updateCalendarHelp();\n      if (focusISO) requestAnimationFrame(() => {\n        const target = root.querySelector(`[data-date=\"${focusISO}\"]:not(:disabled)`);\n        if (target) target.focus();\n      });\n    }\n\n    function chooseDate(date) {\n      const meta = calendarMeta(date);\n      if (state.selecting === \"arrival\" || !state.arrival || (!state.arrival ? false : date <= state.arrival)) {\n        if (!meta.canCheckIn) { updateCalendarHelp(t.arrivalNotAllowed); return; }\n        state.arrival = date;\n        state.departure = null;\n        state.selecting = \"departure\";\n        renderCalendars();\n        sync();\n        return;\n      }\n\n      const nights = daysBetween(state.arrival, date);\n      if (nights < minNights) { updateCalendarHelp(replace(t.minNightsError, { n: minNights })); return; }\n      if (!meta.canCheckOut) { updateCalendarHelp(t.departureNotAllowed); return; }\n      if (!rangeCanBeOccupied(state.arrival, date)) { updateCalendarHelp(t.rangeUnavailable); return; }\n      state.departure = date;\n      state.selecting = \"arrival\";\n      renderCalendars();\n      sync();\n    }\n\n    function openPanel(name, trigger) {\n      closePanel(false);\n      const panel = root.querySelector(`.cbw__panel--${name}`);\n      state.activePanel = name;\n      state.lastTrigger = trigger;\n      panel.hidden = false;\n      trigger.setAttribute(\"aria-expanded\", \"true\");\n      root.querySelector(\".cbw__backdrop\").hidden = false;\n      if (matchMedia(\"(max-width: 720px)\").matches) {\n        panel.setAttribute(\"aria-modal\", \"true\");\n        document.body.classList.add(\"cbw-lock\");\n      }\n      if (name === \"dates\") renderCalendars();\n      requestAnimationFrame(() => panel.focus());\n    }\n\n    function closePanel(restoreFocus = true) {\n      if (!state.activePanel) return;\n      const panel = root.querySelector(`.cbw__panel--${state.activePanel}`);\n      panel.hidden = true;\n      panel.setAttribute(\"aria-modal\", \"false\");\n      root.querySelector(\".cbw__backdrop\").hidden = true;\n      root.querySelectorAll(\"[data-open]\").forEach(b => b.setAttribute(\"aria-expanded\", \"false\"));\n      document.body.classList.remove(\"cbw-lock\");\n      const trigger = state.lastTrigger;\n      state.activePanel = null;\n      if (restoreFocus) {\n        if (trigger) trigger.focus();\n      }\n    }\n\n    function setCounter(name, value) {\n      const previousInfants = state.infants;\n      if (name === \"adults\") value = Math.min(6, Math.max(1, value));\n      if (name === \"children\") value = Math.max(0, value);\n      if (name === \"infants\") value = Math.min(4, Math.max(0, value));\n      if (name === \"cots\") value = Math.min(state.infants, Math.max(0, value));\n      state[name] = value;\n\n      if (name === \"infants\") {\n        if (value < previousInfants) state.cots = Math.min(state.cots, value);\n      }\n      const max = maxTravellers();\n      const total = state.adults + state.children;\n      if (total > max) {\n        const excess = total - max;\n        const childReduction = Math.min(excess, state.children);\n        state.children -= childReduction;\n        if (excess > childReduction) state.adults = Math.max(1, state.adults - (excess - childReduction));\n      }\n      sync();\n    }\n\n    function validate() {\n      const status = root.querySelector(\"[data-form-status]\");\n      status.textContent = \"\";\n      if (!state.arrival || !state.departure) {\n        status.textContent = t.needDates;\n        openPanel(\"dates\", root.querySelector('[data-open=\"dates\"]'));\n        return false;\n      }\n      if (state.adults < 1) {\n        status.textContent = t.needAdult;\n        openPanel(\"guests\", root.querySelector('[data-open=\"guests\"]'));\n        return false;\n      }\n      return true;\n    }\n\n    function payload() {\n      return {\n        arrival: fields.arrival.value,\n        departure: fields.departure.value,\n        adults: state.adults,\n        children: state.children,\n        infants: state.infants,\n        cots: state.cots,\n        voucher_code: String(form.elements.voucher_code.value || \"\").trim().toUpperCase(),\n        apartment: \"any\",\n        lang\n      };\n    }\n\n    root.addEventListener(\"click\", event => {\n      const open = event.target.closest(\"[data-open]\");\n      if (open) {\n        if (root.contains(open)) { openPanel(open.dataset.open, open); return; }\n      }\n      if (event.target.closest(\"[data-close-panel]\")) { closePanel(); return; }\n\n      const day = event.target.closest(\"[data-date]\");\n      if (day) {\n        if (!day.disabled) { chooseDate(fromISO(day.dataset.date)); return; }\n      }\n\n      const prev = event.target.closest(\"[data-prev-month]\");\n      const next = event.target.closest(\"[data-next-month]\");\n      if (prev || next) {\n        const target = addMonths(state.month, prev ? -1 : 1);\n        const currentMonth = new Date(today.getFullYear(), today.getMonth(), 1, 12);\n        if (target >= currentMonth) state.month = target;\n        renderCalendars();\n        return;\n      }\n\n      const step = event.target.closest(\"[data-step]\");\n      if (step) {\n        if (!step.disabled) {\n          const row = step.closest(\"[data-counter]\");\n          const name = row.dataset.counter;\n          setCounter(name, state[name] + Number(step.dataset.step));\n          return;\n        }\n      }\n\n      if (event.target.closest(\"[data-reset-dates]\")) {\n        state.arrival = null; state.departure = null; state.selecting = \"arrival\"; sync(); renderCalendars(); return;\n      }\n      if (event.target.closest(\"[data-reset-guests]\")) {\n        state.adults = 2; state.children = 0; state.infants = 0; state.cots = 0; sync(); return;\n      }\n      if (event.target.closest(\"[data-dates-next]\")) {\n        if (!state.arrival || !state.departure) { updateCalendarHelp(t.needDates); return; }\n        const guestTrigger = root.querySelector('[data-open=\"guests\"]');\n        closePanel(false); openPanel(\"guests\", guestTrigger); return;\n      }\n      if (event.target.closest(\"[data-mobile-search]\")) {\n        closePanel(false); form.requestSubmit(); return;\n      }\n\n      const promoToggle = event.target.closest(\"[data-promo-toggle]\");\n      if (promoToggle) {\n        const panel = root.querySelector(\".cbw__promo-panel\");\n        panel.hidden = !panel.hidden;\n        promoToggle.setAttribute(\"aria-expanded\", String(!panel.hidden));\n        if (!panel.hidden) requestAnimationFrame(() => form.elements.voucher_code.focus());\n        return;\n      }\n\n      if (event.target.closest(\"[data-voucher-check]\")) {\n        const code = String(form.elements.voucher_code.value || \"\").trim();\n        if (!code) { widgetApi.setVoucherState(\"invalid\", t.voucherEmpty); return; }\n        const checkEvent = new CustomEvent(\"casdanna:voucher-check\", { bubbles: true, cancelable: true, detail: { code: code.toUpperCase(), widget: widgetApi } });\n        const handled = !root.dispatchEvent(checkEvent);\n        widgetApi.setVoucherState(handled ? \"checking\" : \"idle\", handled ? t.voucherChecking : t.voucherPending);\n      }\n    });\n\n    root.addEventListener(\"keydown\", event => {\n      if (!(event.key !== \"Escape\" || !state.activePanel)) { event.preventDefault(); closePanel(); return; }\n      if (!(event.key !== \"Tab\" || !state.activePanel || !matchMedia(\"(max-width: 720px)\").matches)) {\n        const panel = root.querySelector(`.cbw__panel--${state.activePanel}`);\n        const focusable = Array.from(panel.querySelectorAll('button:not(:disabled), input:not(:disabled), [tabindex=\"0\"]'))\n          .filter(element => element.offsetParent !== null);\n        if (focusable.length) {\n          const first = focusable[0];\n          const last = focusable[focusable.length - 1];\n          if (event.shiftKey) {\n            if (document.activeElement === first) { event.preventDefault(); last.focus(); }\n          } else if (document.activeElement === last) { event.preventDefault(); first.focus(); }\n        }\n        return;\n      }\n      const day = event.target.closest(\"[data-date]\");\n      if (!day) return;\n      const moves = { ArrowRight: 1, ArrowLeft: -1, ArrowDown: 7, ArrowUp: -7, Home: -((fromISO(day.dataset.date).getDay() + 6) % 7), End: 6 - ((fromISO(day.dataset.date).getDay() + 6) % 7) };\n      let delta = moves[event.key];\n      if (event.key === \"PageDown\") delta = event.shiftKey ? 365 : 31;\n      if (event.key === \"PageUp\") delta = event.shiftKey ? -365 : -31;\n      if (delta === undefined) return;\n      event.preventDefault();\n      const targetDate = addDays(fromISO(day.dataset.date), delta);\n      if (targetDate < today) return;\n      if (!(targetDate.getMonth() === state.month.getMonth() || targetDate.getMonth() === addMonths(state.month, 1).getMonth())) {\n        state.month = new Date(targetDate.getFullYear(), targetDate.getMonth(), 1, 12);\n      }\n      renderCalendars(toISO(targetDate));\n    });\n\n    form.addEventListener(\"submit\", async event => {\n      sync();\n      if (!validate()) { event.preventDefault(); return; }\n      const data = payload();\n\n      if (!(!window.CasdannaBookingApi || typeof window.CasdannaBookingApi.search !== \"function\")) {\n        event.preventDefault();\n        widgetApi.setBusy(true);\n        try { await window.CasdannaBookingApi.search(data, widgetApi); }\n        catch (error) { widgetApi.setError(error ? (error.message ? error.message : t.genericError) : t.genericError); }\n        finally { widgetApi.setBusy(false); }\n        return;\n      }\n\n      const searchEvent = new CustomEvent(\"casdanna:booking-search\", { bubbles: true, cancelable: true, detail: { payload: data, widget: widgetApi } });\n      if (!root.dispatchEvent(searchEvent)) {\n        event.preventDefault();\n        widgetApi.setBusy(true);\n      }\n    });\n\n    form.elements.voucher_code.addEventListener(\"input\", () => widgetApi.setVoucherState(\"idle\", \"\"));\n\n    const widgetApi = {\n      root,\n      getPayload: payload,\n      setCalendar(items) {\n        state.calendar.clear();\n        (Array.isArray(items) ? items : []).forEach(item => {\n          if (item) {\n            if (\/^\\d{4}-\\d{2}-\\d{2}$\/.test(item.date || \"\")) {\n              state.calendar.set(item.date, { numAvail: Number(item.numAvail || 0), override: item.override || \"none\" });\n            }\n          }\n        });\n        if (state.activePanel === \"dates\") renderCalendars();\n      },\n      setVoucherState(status, message) {\n        const el = root.querySelector(\"[data-voucher-status]\");\n        const defaults = {\n          checking: t.voucherChecking, valid: t.voucherValid, invalid: t.voucherInvalid,\n          expired: t.voucherExpired, inactive: t.voucherInactive, error: t.genericError, idle: \"\"\n        };\n        el.dataset.state = status || \"idle\";\n        el.textContent = message !== undefined ? message : (defaults[status] || \"\");\n      },\n      setBusy(busy, message) {\n        state.busy = Boolean(busy);\n        root.querySelectorAll(\".cbw__search, .cbw__panel-search\").forEach(button => {\n          button.disabled = state.busy;\n          button.setAttribute(\"aria-busy\", String(state.busy));\n        });\n        root.querySelector(\"[data-form-status]\").textContent = state.busy ? (message || t.searching) : \"\";\n      },\n      setError(message) {\n        root.querySelector(\"[data-form-status]\").textContent = message || t.genericError;\n      },\n      close: closePanel\n    };\n\n    root.cbw = widgetApi;\n    sync();\n    updateCalendarHelp();\n    root.dispatchEvent(new CustomEvent(\"casdanna:booking-ready\", { bubbles: true, detail: { widget: widgetApi } }));\n  }\n\n  document.querySelectorAll(\"[data-casdanna-booking]\").forEach((root, index) => init(root, index));\n  window.CasdannaBookingWidget = {\n    get instances() { return Array.from(document.querySelectorAll(\"[data-casdanna-booking]\")).map(el => el.cbw).filter(Boolean); },\n    setCalendar(items) { this.instances.forEach(instance => instance.setCalendar(items)); },\n    setVoucherState(status, message) { this.instances.forEach(instance => instance.setVoucherState(status, message)); },\n    setBusy(busy, message) { this.instances.forEach(instance => instance.setBusy(busy, message)); },\n    setError(message) { this.instances.forEach(instance => instance.setError(message)); }\n  };\n})();\n<\/script>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<!--\n  CASDANNA ROSES \u2014 WIDGET LISTING \/ RESULTADOS V1\n\n  OBJETIVO\n  - Mostrar siempre los tres apartamentos como HTML sem\u00e1ntico y rastreable.\n  - Actualizar mediante JavaScript \u00fanicamente disponibilidad, precios, descuentos y enlaces externos.\n  - No ocultar un apartamento cuando no est\u00e9 disponible.\n  - No inventar precios: el estado inicial solicita fechas y espera datos del backend.\n\n  CONTRATO FRONT\/BACK\n  window.CasdannaListingWidgets.setResults({\n    query: {\n      arrival: \"2026-09-05\",\n      departure: \"2026-09-12\",\n      adults: 2,\n      children: 0,\n      infants: 0,\n      voucher_code: \"VUELVO10\"\n    },\n    rooms: [\n      {\n        roomId: \"507609\",\n        available: true,\n        direct: {\n          total: null,       \/\/ number: total sin promoci\u00f3n\n          discounted: null,  \/\/ number: total despu\u00e9s de la promoci\u00f3n\n          currency: \"EUR\",\n          bookingUrl: \"URL verificada devuelta por el backend\"\n        },\n        promo: { valid: true, code: \"VUELVO10\", savings: null },\n        airbnb: {\n          total: null,\n          currency: \"EUR\",\n          url: \"URL verificada del anuncio en Airbnb\"\n        }\n      }\n    ]\n  });\n\n  Estados admitidos por apartamento:\n  - available: true\n  - available: false\n  - error: true\n  - sin resultado: pendiente de consulta\n\n  CONTRATO DE IM\u00c1GENES WORDPRESS\n  - El administrador guarda una lista ordenada de attachment IDs por roomId.\n  - PHP genera las etiquetas img con wp_get_attachment_image(), srcset, sizes, width, height y alt localizado.\n  - Las cuatro primeras im\u00e1genes, en el orden recibido, forman el mosaico de escritorio.\n  - Todas las im\u00e1genes forman el carrusel m\u00f3vil respetando ese mismo orden.\n  - Los textos alternativos se definen por idioma; los duplicados visuales exactos usan alt vac\u00edo.\n  - JavaScript solo controla navegaci\u00f3n y contador; no obtiene ni sustituye im\u00e1genes.\n-->\n\n<section class=\"lrw\" data-casdanna-listings aria-labelledby=\"lrw-title\">\n  <svg class=\"lrw__svg-defs\" aria-hidden=\"true\" width=\"0\" height=\"0\">\n    <symbol id=\"lrw-icon-guests\" viewBox=\"0 0 24 24\">\n      <path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75\"><\/path>\n    <\/symbol>\n    <symbol id=\"lrw-icon-bed\" viewBox=\"0 0 24 24\">\n      <path d=\"M2 4v16M22 12v8M2 17h20M6 12V7h5a3 3 0 0 1 3 3v2M14 12h5a3 3 0 0 1 3 3v2\"><\/path>\n    <\/symbol>\n    <symbol id=\"lrw-icon-terrace\" viewBox=\"0 0 24 24\">\n      <path d=\"M12 2v20M2 12a10 10 0 0 1 20 0Z\"><\/path><path d=\"M5 12c1.5-2 3-2 4.5 0 1.5-2 3.5-2 5 0 1.5-2 3-2 4.5 0M8 22h8\"><\/path>\n    <\/symbol>\n    <symbol id=\"lrw-icon-bath\" viewBox=\"0 0 24 24\">\n      <path d=\"M4 12V6a2 2 0 0 1 4 0v1M2 12h20M3 12v2a5 5 0 0 0 5 5h8a5 5 0 0 0 5-5v-2M6 19v2M18 19v2\"><\/path>\n    <\/symbol>\n    <symbol id=\"lrw-icon-garage\" viewBox=\"0 0 24 24\">\n      <path d=\"M3 21V9l9-6 9 6v12M6 21v-8h12v8M7 17h10\"><\/path><circle cx=\"8\" cy=\"18\" r=\"1\"><\/circle><circle cx=\"16\" cy=\"18\" r=\"1\"><\/circle>\n    <\/symbol>\n    <symbol id=\"lrw-icon-wifi\" viewBox=\"0 0 24 24\">\n      <path d=\"M5 12.55a11 11 0 0 1 14.08 0M1.42 9a16 16 0 0 1 21.16 0M8.53 16.11a6 6 0 0 1 6.95 0\"><\/path><circle cx=\"12\" cy=\"20\" r=\"1\"><\/circle>\n    <\/symbol>\n    <symbol id=\"lrw-icon-chevron\" viewBox=\"0 0 24 24\"><path d=\"m9 18 6-6-6-6\"><\/path><\/symbol>\n  <\/svg>\n  <header class=\"lrw__header\">\n    <p class=\"lrw__eyebrow\">Reserva directa con los propietarios<\/p>\n    <h2 id=\"lrw-title\">Apartamentos disponibles en Casdanna Roses<\/h2>\n    <p class=\"lrw__intro\">\n      Compara las caracter\u00edsticas de Casdanna 1, Casdanna 2 y Casdanna 3. Introduce tus fechas para consultar\n      la disponibilidad y el precio total de la estancia.\n    <\/p>\n    <div class=\"lrw__query\" data-query-summary role=\"status\" aria-live=\"polite\">\n      <span class=\"lrw__query-label\">Consulta:<\/span>\n      <strong data-query-text>A\u00fan no has seleccionado fechas.<\/strong>\n    <\/div>\n  <\/header>\n\n  <div class=\"lrw__results\" data-results-list>\n    <article class=\"lrw__card\" data-room-id=\"507609\" data-result-state=\"unsearched\" aria-labelledby=\"lrw-c1-title\">\n      <div class=\"lrw__gallery\" data-gallery aria-label=\"Galer\u00eda de Casdanna 1\">\n        <div class=\"lrw__gallery-track\" data-gallery-track tabindex=\"0\">\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 1 de 27\">\n            <img data-opt-id=357778031  src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:9026cabd360e1be828115f3c33901760\/directUpload\/nuevaHERO2.jpg\" width=\"1948\" height=\"1461\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\" sizes=\"(max-width: 680px) 100vw, (max-width: 1180px) 34vw, 390px\" alt=\"Vistas al mar desde el interior de Casdanna 1 a trav\u00e9s de las puertas de la terraza\" data-attachment-id=\"6603\" data-scene=\"terrace_sea_doors\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 2 de 27\">\n            <img data-opt-id=1910666732  fetchpriority=\"high\" src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:949cde62b91b6fb81c532c402e50f449\/directUpload\/a1terra00.jpg\" width=\"1682\" height=\"2048\" loading=\"lazy\" decoding=\"async\" sizes=\"auto, (max-width: 680px) 100vw, (max-width: 1180px) 60vw, 760px\" alt=\"Comedor en la terraza privada de Casdanna 1 con vistas al mar\" data-attachment-id=\"6604\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 3 de 27\">\n            <img data-opt-id=831190250  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:3cf283fa7d6b4e785766661377f08520\/directUpload\/a1salon01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 1 con zona de sof\u00e1s\" data-attachment-id=\"6608\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 4 de 27\">\n            <img data-opt-id=17956983  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-qZ0A5w82\/w:auto\/h:auto\/f:best\/q:mauto\/id:e7d987908122a851ffd404b5c066d5b1\/directUpload\/03_Kitchen-Apartment-1-Casdanna-v4.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 1\" data-attachment-id=\"1599\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 5 de 27\">\n            <img data-opt-id=567015989  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:c464c5a0c0becd8fe37ba47488b9c3b3\/directUpload\/00_heroimage26.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 1 con vistas al mar\" data-attachment-id=\"6609\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 6 de 27\">\n            <img data-opt-id=646448926  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:d6879abb3905a669338f80a2a906034f\/directUpload\/terrazaa100-3_2.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Zona de descanso exterior en la terraza de Casdanna 1\" data-attachment-id=\"6601\" data-scene=\"outdoor_lounge\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 7 de 27\">\n            <img data-opt-id=1216848428  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:d70f30ef62bcba1f7fc1de1662ef15bd\/directUpload\/00aterrazaa101.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1048\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 1 con vistas al mar\" data-attachment-id=\"7129\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 8 de 27\">\n            <img data-opt-id=8362936  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:0ea0f7b7d14648720163f66a2bae1882\/directUpload\/a1salon06.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1991\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 1 con acceso a la terraza y vistas al mar\" data-attachment-id=\"6607\" data-scene=\"living_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 9 de 27\">\n            <img data-opt-id=826205184  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:05562fa74509e29383dd0b6295a656ca\/directUpload\/01pezSalon01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1128\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 1 con zona de sof\u00e1s\" data-attachment-id=\"7150\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 10 de 27\">\n            <img data-opt-id=1744976343  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:9f72cc0834875bbf7a7e097124b56827\/directUpload\/a1salon12.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 1 con zona de estar y televisi\u00f3n\" data-attachment-id=\"6605\" data-scene=\"living_tv\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 11 de 27\">\n            <img data-opt-id=261209353  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:02fae6c336ae4d14a91e616658e98799\/directUpload\/000b_Living_Room_Apartment_1_Casdanna_v5.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n comedor de Casdanna 1\" data-attachment-id=\"7153\" data-scene=\"living_dining\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 12 de 27\">\n            <img data-opt-id=1252756785  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:7884b4c0794c202b2fd99e676c71e433\/directUpload\/01a1salon07.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1333\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n, comedor y cocina de Casdanna 1 en un espacio abierto\" data-attachment-id=\"7131\" data-scene=\"open_plan\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 13 de 27\">\n            <img data-opt-id=1274339746  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:fef69b3273723ee5b1af9ff824a0d2ed\/directUpload\/01IMG_9233.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor y cocina equipada de Casdanna 1\" data-attachment-id=\"7132\" data-scene=\"dining_kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 14 de 27\">\n            <img data-opt-id=430221835  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-lXpSxJTj\/w:auto\/h:auto\/f:best\/q:mauto\/id:c8b2453a0dda620da5988f20dc54d9ef\/directUpload\/03_Kitchen.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 1 con lavadora y electrodom\u00e9sticos\" data-attachment-id=\"1584\" data-scene=\"kitchen_laundry\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 15 de 27\">\n            <img data-opt-id=1542738232  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-uTxDtAP1\/w:auto\/h:auto\/f:best\/q:mauto\/id:8f6621f252aef1dd75f4274bafe6c44e\/directUpload\/03_Kitchen-Apartment-1-Casdanna-v5.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 1\" data-attachment-id=\"1625\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 16 de 27\">\n            <img data-opt-id=2034820801  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:3fcffb9c0380e6d2dce84ff751c2d9c2\/directUpload\/05_a1_sDormitorioEste00.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 1 con dos camas individuales\" data-attachment-id=\"7134\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 17 de 27\">\n            <img data-opt-id=370978427  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:e0579806f3217a70e1ed1dbf670668b2\/directUpload\/05_a1_sDormitorioEste02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 1 con dos camas individuales\" data-attachment-id=\"7136\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 18 de 27\">\n            <img data-opt-id=2047179491  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:602fda9375cbe20a836f96babd23a64d\/directUpload\/05_a1_sDormitorioEste03.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 1 con dos camas individuales\" data-attachment-id=\"7137\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 19 de 27\">\n            <img data-opt-id=1804075574  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:a191b3c075d57e587bb0780c5925b7fc\/directUpload\/05_a1_sdormitorioW01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1590\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 1 con cama doble\" data-attachment-id=\"7139\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 20 de 27\">\n            <img data-opt-id=1601690017  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:7c3cd70ce887cbaad540a0fdc156bdfe\/directUpload\/05_a1_sdormitorioW02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 1 con cama doble\" data-attachment-id=\"7140\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 21 de 27\">\n            <img data-opt-id=2132324515  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-CBZfHEcW\/w:auto\/h:auto\/f:best\/q:mauto\/id:4dbad72f1187c596eeedc5908f424367\/directUpload\/jardin.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"921\" loading=\"lazy\" decoding=\"async\" alt=\"Zona exterior ajardinada de Casdanna 1\" data-attachment-id=\"1595\" data-scene=\"exterior_garden\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 22 de 27\">\n            <img data-opt-id=500882834  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-r2q5vWSY\/w:auto\/h:auto\/f:best\/q:mauto\/id:f918eeaa952ea577629801eee99c1375\/directUpload\/t_A1_puerta.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"768\" height=\"1024\" loading=\"lazy\" decoding=\"async\" alt=\"Puerta de entrada de Casdanna 1\" data-attachment-id=\"1592\" data-scene=\"entrance_door\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 23 de 27\">\n            <img data-opt-id=571683081  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:8162839a0d3696b499ab23f00aa8c668\/https:\/\/casdanna.com\/distanciaPlaya2025_m.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1840\" height=\"1472\" loading=\"lazy\" decoding=\"async\" alt=\"Vista a\u00e9rea con el recorrido de 150 metros desde Casdanna hasta la playa\" data-attachment-id=\"4732\" data-scene=\"aerial_map_beach\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 24 de 27\">\n            <img data-opt-id=1796184664  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:a6025c0fb8a7d32eba9f7c6d3648d971\/https:\/\/casdanna.com\/06vista02-scaled.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"924\" loading=\"lazy\" decoding=\"async\" alt=\"Vistas de Canyelles Petites y el mar en el entorno de Casdanna\" data-attachment-id=\"6666\" data-scene=\"neighborhood_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 25 de 27\">\n            <img data-opt-id=664942565  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:eb3d189e71c57ddc5489b2ad8882c511\/https:\/\/casdanna.com\/The-beach-01.jpeg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1024\" height=\"682\" loading=\"lazy\" decoding=\"async\" alt=\"Vista a\u00e9rea de la playa de Canyelles Petites en Roses\" data-attachment-id=\"7121\" data-scene=\"beach_aerial\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 26 de 27\">\n            <img data-opt-id=180461759  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:09487af554ff368775cfa13cc8bf94f2\/directUpload\/barbacoaIA.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"818\" height=\"1283\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 1 con vistas al mar\" data-attachment-id=\"7141\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver Casdanna 1, foto 27 de 27\">\n            <img data-opt-id=510450493  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:c2980d5a9262aa8253ca557279e911bd\/directUpload\/Outdoor_dining_room_00.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1144\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor exterior cubierto de Casdanna 1\" data-attachment-id=\"7142\" data-scene=\"covered_outdoor_dining\">\n          <\/a>\n        <\/div>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--prev\" type=\"button\" data-gallery-prev aria-label=\"Foto anterior\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--next\" type=\"button\" data-gallery-next aria-label=\"Foto siguiente\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <span class=\"lrw__gallery-counter\" aria-live=\"polite\"><span data-gallery-index>1<\/span> \/ <span data-gallery-total>27<\/span><\/span>\n        <a class=\"lrw__gallery-apartment\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver el apartamento Casdanna 1\">Ver apartamento<\/a>\n      <\/div>\n\n      <div class=\"lrw__content\">\n        <div class=\"lrw__title-block\">\n          <p class=\"lrw__floor\">Primera planta<\/p>\n          <a class=\"lrw__apartment-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\" aria-label=\"Ver el apartamento Casdanna 1\">Ver apartamento<\/a>\n          <div class=\"lrw__heading-line\">\n            <h3 id=\"lrw-c1-title\">\n              <a href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\">Casdanna 1<\/a>\n            <\/h3>\n            <span class=\"lrw__licence\">HUTG-033805<\/span>\n          <\/div>\n          <p class=\"lrw__availability\" data-availability role=\"status\">\n            <span aria-hidden=\"true\"><\/span><strong>Consulta tus fechas<\/strong>\n          <\/p>\n        <\/div>\n\n        <p class=\"lrw__description\">\n          Apartamento de 75 m\u00b2 con terraza privada de 17 m\u00b2, muy cerca de la playa y con fant\u00e1sticas vistas al mar,\n          garaje individual y zona adicional de barbacoa con comedor exterior cubierto.\n        <\/p>\n\n        <dl class=\"lrw__facts\">\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-guests\"><\/use><\/svg><dt>Capacidad<\/dt><dd>Hasta 5 hu\u00e9spedes<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bed\"><\/use><\/svg><dt>Dormitorios<\/dt><dd>2 dormitorios<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-terrace\"><\/use><\/svg><dt>Terraza<\/dt><dd>17 m\u00b2<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bath\"><\/use><\/svg><dt>Ba\u00f1os<\/dt><dd>1 ba\u00f1o y 1 WC<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-garage\"><\/use><\/svg><dt>Aparcamiento<\/dt><dd>Garaje individual<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-wifi\"><\/use><\/svg><dt>Internet<\/dt><dd>Wifi de fibra<\/dd><\/div>\n        <\/dl>\n\n        <details class=\"lrw__equipment\">\n          <summary>Detalles<\/summary>\n          <div class=\"lrw__secondary-facts\">\n            <p><strong>M\u00e1ximo de adultos:<\/strong> 4 adultos<\/p>\n            <p><strong>Camas:<\/strong> 1 doble, 2 individuales y 1 plegable<\/p>\n          <\/div>\n          <ul>\n            <li>Wifi de fibra \u00f3ptica<\/li>\n            <li>Garaje individual incluido<\/li>\n            <li>Smart TV y televisi\u00f3n internacional por sat\u00e9lite<\/li>\n            <li>Lavavajillas, lavadora, microondas y grill el\u00e9ctrico<\/li>\n            <li>Nespresso y cafetera de filtro<\/li>\n            <li>Barbacoa y mobiliario exterior<\/li>\n            <li data-distance-to-beach>A 150 m de la playa en l\u00ednea recta<\/li>\n            <li><a class=\"lrw__details-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-1\/\">Equipamiento y caracter\u00edsticas<\/a><\/li>\n          <\/ul>\n        <\/details>\n      <\/div>\n\n      <section class=\"lrw__prices\" aria-labelledby=\"lrw-c1-price-title\">\n        <h4 id=\"lrw-c1-price-title\">Precio de la estancia<\/h4>\n        <div class=\"lrw__price-box lrw__price-box--direct\">\n          <p class=\"lrw__price-label\">Reserva directa<\/p>\n          <p class=\"lrw__price\" data-direct-price>Selecciona fechas<\/p>\n          <p class=\"lrw__price-note\" data-direct-note>Precio total pendiente de consulta.<\/p>\n          <p class=\"lrw__original\" data-original-price hidden><\/p>\n          <p class=\"lrw__promo\" data-promo hidden><\/p>\n          <a class=\"lrw__book\" data-book-direct href=\"https:\/\/casdanna.com\/reserva-apartamento-particular-roses-canyelles-petites\/\"\n             aria-disabled=\"true\" tabindex=\"-1\">Reservar directamente<\/a>\n        <\/div>\n        <div class=\"lrw__price-box lrw__price-box--airbnb\">\n          <p class=\"lrw__price-label\">A trav\u00e9s de Airbnb<\/p>\n          <p class=\"lrw__airbnb-price\" data-airbnb-price>Precio pendiente<\/p>\n          <span class=\"lrw__airbnb-link\" data-airbnb-placeholder>Enlace pendiente de integraci\u00f3n<\/span>\n        <\/div>\n      <\/section>\n    <\/article>\n\n    <article class=\"lrw__card\" data-room-id=\"507611\" data-result-state=\"unsearched\" aria-labelledby=\"lrw-c2-title\">\n      <div class=\"lrw__gallery\" data-gallery aria-label=\"Galer\u00eda de Casdanna 2\">\n        <div class=\"lrw__gallery-track\" data-gallery-track tabindex=\"0\">\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 1 de 28\">\n            <img data-opt-id=1471400109  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:d6a60bd2e96e07796e7bba86ee3d534f\/directUpload\/01_Terrace_Casdanna_Apartment_2.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 2 con vistas al mar\" data-attachment-id=\"7159\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 2 de 28\">\n            <img data-opt-id=1063481765  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-qaE_XCP1\/w:auto\/h:auto\/f:best\/q:mauto\/id:3f6c77e4537a1904c6a97b3f377bc169\/directUpload\/10_DSCF0436.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con acceso a la terraza y vistas al mar\" data-attachment-id=\"1657\" data-scene=\"living_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 3 de 28\">\n            <img data-opt-id=488823739  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-O4MF_jkk\/w:auto\/h:auto\/f:best\/q:mauto\/id:28d4a19a9877ce2e357ae0c943033609\/directUpload\/10_IMG_1287.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 2 con lavadora y electrodom\u00e9sticos\" data-attachment-id=\"1656\" data-scene=\"kitchen_laundry\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 4 de 28\">\n            <img data-opt-id=1014863259  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:5f29f0051b7616ac9472199775af8658\/directUpload\/a2SalonVert01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1542\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con zona de sof\u00e1s\" data-attachment-id=\"6653\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 5 de 28\">\n            <img data-opt-id=949259054  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-XXFwrz_t\/w:auto\/h:auto\/f:best\/q:mauto\/id:edcbaf511b8907294dbc5077a9133785\/directUpload\/11_DSCF0437.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con acceso a la terraza y vistas al mar\" data-attachment-id=\"1653\" data-scene=\"living_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 6 de 28\">\n            <img data-opt-id=1050846225  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:f93d1b7c86cba8277f4c07261f6e7363\/directUpload\/a2terrazaVert02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1701\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Tumbonas en la terraza privada de Casdanna 2 frente al mar\" data-attachment-id=\"7033\" data-scene=\"terrace_loungers_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 7 de 28\">\n            <img data-opt-id=1906044584  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:81f540b491aff6d01b8ddcb4e252ec00\/directUpload\/a2terrazaHorz04_EDIT.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 2 con vistas al mar\" data-attachment-id=\"6651\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 8 de 28\">\n            <img data-opt-id=515538729  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:efb1f2432b66c4008812f2c14ebff07a\/directUpload\/a2terrazaHorz02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Terraza privada de Casdanna 2 con vistas al mar\" data-attachment-id=\"6652\" data-scene=\"terrace_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 9 de 28\">\n            <img data-opt-id=980447736  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:e54c653f85c2936ed24855d3466f836c\/directUpload\/a2terrazaHorz03.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 2 con vistas al mar\" data-attachment-id=\"7035\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 10 de 28\">\n            <img data-opt-id=797807804  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-NSH56XeG\/w:auto\/h:auto\/f:best\/q:mauto\/id:04d81c8947eb065de6d320704b5dbf55\/directUpload\/03_Terrace-Casdanna-Apartment-2-b.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Zona de descanso exterior en la terraza de Casdanna 2\" data-attachment-id=\"1662\" data-scene=\"outdoor_lounge\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 11 de 28\">\n            <img data-opt-id=440103318  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:6fa95fe22bab6aa35aaa4b861dbd73dd\/directUpload\/a2SalonHorz02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1824\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con acceso a la terraza y vistas al mar\" data-attachment-id=\"7036\" data-scene=\"living_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 12 de 28\">\n            <img data-opt-id=1351154598  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:180abcaaf01ebfca54f55cdc7ea4f817\/directUpload\/a2SalonHorz01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con zona de sof\u00e1s\" data-attachment-id=\"7037\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 13 de 28\">\n            <img data-opt-id=1454815484  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-CJqcSOXL\/w:auto\/h:auto\/f:best\/q:mauto\/id:51d6f4b7590316750367a525f3c5b353\/directUpload\/DSCF0555.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 2 con zona de sof\u00e1s\" data-attachment-id=\"1640\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 14 de 28\">\n            <img data-opt-id=83369711  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-d2TmuUZO\/w:auto\/h:auto\/f:best\/q:mauto\/id:338094bc9ec0f7c04348d702c023dd60\/directUpload\/08_DSCF0342.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1365\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n, comedor y cocina de Casdanna 2 en un espacio abierto\" data-attachment-id=\"1658\" data-scene=\"open_plan\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 15 de 28\">\n            <img data-opt-id=304283699  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-tkkF4Yuy\/w:auto\/h:auto\/f:best\/q:mauto\/id:64f73e26c9736f4ef6b36ff504e75731\/directUpload\/DSCF0321-.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1365\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 2 con lavadora y electrodom\u00e9sticos\" data-attachment-id=\"1647\" data-scene=\"kitchen_laundry\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 16 de 28\">\n            <img data-opt-id=927472726  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:c5869ece82e77be5ea5eb5b4b3182c8e\/directUpload\/a2Cocina01.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 2\" data-attachment-id=\"7048\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 17 de 28\">\n            <img data-opt-id=1405658049  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:f252cbd7912ff093b7a7283b2875f1db\/directUpload\/a2Cocina02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 2 con lavadora y electrodom\u00e9sticos\" data-attachment-id=\"7047\" data-scene=\"kitchen_laundry\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 18 de 28\">\n            <img data-opt-id=437705555  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:fba76f1fa607292584a934cb46b91d62\/directUpload\/a2hall.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 2\" data-attachment-id=\"7038\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 19 de 28\">\n            <img data-opt-id=799758656  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:eec5f270a7117748182264e96517941c\/directUpload\/a2Dorm0105.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con cama doble\" data-attachment-id=\"7040\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 20 de 28\">\n            <img data-opt-id=1568018682  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:48130be4a63c12daa74c3eb8bfed16e2\/directUpload\/a2Dorm0104.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con cama doble\" data-attachment-id=\"7041\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 21 de 28\">\n            <img data-opt-id=464195783  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:eed25feffb3d3f2120e06acf7aad96a3\/directUpload\/a2Dorm0101.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con cama doble\" data-attachment-id=\"7046\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 22 de 28\">\n            <img data-opt-id=2087673250  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:a2cfd7acfbdbff24011523964e8ec35c\/directUpload\/a2Dorm0102.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con cama doble\" data-attachment-id=\"7045\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 23 de 28\">\n            <img data-opt-id=322676998  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:7e1df2865c3471a669567d8a0bedf345\/directUpload\/a2Dorm0202.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1446\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con dos camas individuales\" data-attachment-id=\"7042\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 24 de 28\">\n            <img data-opt-id=1940319306  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:0e1de03de4521666ddaf7acaa7574378\/directUpload\/a2Dorm0201.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con dos camas individuales\" data-attachment-id=\"7043\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 25 de 28\">\n            <img data-opt-id=575188714  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:bc68018f12755c6d6ead570708d082c9\/directUpload\/a2Dorm0103.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"2048\" height=\"1536\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con dos camas individuales\" data-attachment-id=\"7044\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 26 de 28\">\n            <img data-opt-id=725083604  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/w:auto\/h:auto\/f:best\/q:mauto\/id:84c09bb1bab91b11b31f955b2e6657cf\/directUpload\/a2Dorm0203.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1536\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 2 con dos camas individuales\" data-attachment-id=\"6654\" data-scene=\"twin_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 27 de 28\">\n            <img data-opt-id=1194848570  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-HLrjQPuV\/w:auto\/h:auto\/f:best\/q:mauto\/id:8d078eddb9e1794c8e618fe3c0529f9b\/directUpload\/DSCF0632.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1365\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Ba\u00f1o de Casdanna 2 con lavabo y WC\" data-attachment-id=\"1638\" data-scene=\"bathroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver Casdanna 2, foto 28 de 28\">\n            <img data-opt-id=1093697424  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-jWANv2aA\/w:auto\/h:auto\/f:best\/q:mauto\/id:6e28d4793c16d655f5c70d2802b064cf\/directUpload\/DSCF0628.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"1365\" height=\"2048\" loading=\"lazy\" decoding=\"async\" alt=\"Ba\u00f1o de Casdanna 2 con lavabo y WC\" data-attachment-id=\"1639\" data-scene=\"bathroom\">\n          <\/a>\n        <\/div>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--prev\" type=\"button\" data-gallery-prev aria-label=\"Foto anterior\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--next\" type=\"button\" data-gallery-next aria-label=\"Foto siguiente\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <span class=\"lrw__gallery-counter\" aria-live=\"polite\"><span data-gallery-index>1<\/span> \/ <span data-gallery-total>28<\/span><\/span>\n        <a class=\"lrw__gallery-apartment\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver el apartamento Casdanna 2\">Ver apartamento<\/a>\n      <\/div>\n\n      <div class=\"lrw__content\">\n        <div class=\"lrw__title-block\">\n          <p class=\"lrw__floor\">Segunda planta<\/p>\n          <a class=\"lrw__apartment-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\" aria-label=\"Ver el apartamento Casdanna 2\">Ver apartamento<\/a>\n          <div class=\"lrw__heading-line\">\n            <h3 id=\"lrw-c2-title\">\n              <a href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\">Casdanna 2<\/a>\n            <\/h3>\n            <span class=\"lrw__licence\">HUTG-033806<\/span>\n          <\/div>\n          <p class=\"lrw__availability\" data-availability role=\"status\">\n            <span aria-hidden=\"true\"><\/span><strong>Consulta tus fechas<\/strong>\n          <\/p>\n        <\/div>\n\n        <p class=\"lrw__description\">\n          Apartamento de 75 m\u00b2 con terraza privada de 28 m\u00b2, muy cerca de la playa y con vistas espectaculares al mar,\n          barbacoa en la terraza y garaje individual incluido.\n        <\/p>\n\n        <dl class=\"lrw__facts\">\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-guests\"><\/use><\/svg><dt>Capacidad<\/dt><dd>Hasta 5 hu\u00e9spedes<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bed\"><\/use><\/svg><dt>Dormitorios<\/dt><dd>2 dormitorios<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-terrace\"><\/use><\/svg><dt>Terraza<\/dt><dd>28 m\u00b2<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bath\"><\/use><\/svg><dt>Ba\u00f1os<\/dt><dd>1 ba\u00f1o y 1 WC<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-garage\"><\/use><\/svg><dt>Aparcamiento<\/dt><dd>Garaje individual<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-wifi\"><\/use><\/svg><dt>Internet<\/dt><dd>Wifi de fibra<\/dd><\/div>\n        <\/dl>\n\n        <details class=\"lrw__equipment\">\n          <summary>Detalles<\/summary>\n          <div class=\"lrw__secondary-facts\">\n            <p><strong>M\u00e1ximo de adultos:<\/strong> 4 adultos<\/p>\n            <p><strong>Camas:<\/strong> 1 doble, 2 individuales y 1 plegable<\/p>\n          <\/div>\n          <ul>\n            <li>Wifi de fibra \u00f3ptica<\/li>\n            <li>Garaje individual incluido<\/li>\n            <li>Smart TV y televisi\u00f3n internacional por sat\u00e9lite<\/li>\n            <li>Horno, lavavajillas, lavadora y microondas<\/li>\n            <li>Nespresso y cafetera de filtro<\/li>\n            <li>Barbacoa de carb\u00f3n o le\u00f1a y mobiliario exterior<\/li>\n            <li data-distance-to-beach>A 150 m de la playa en l\u00ednea recta<\/li>\n            <li><a class=\"lrw__details-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-2\/\">Equipamiento y caracter\u00edsticas<\/a><\/li>\n          <\/ul>\n        <\/details>\n      <\/div>\n\n      <section class=\"lrw__prices\" aria-labelledby=\"lrw-c2-price-title\">\n        <h4 id=\"lrw-c2-price-title\">Precio de la estancia<\/h4>\n        <div class=\"lrw__price-box lrw__price-box--direct\">\n          <p class=\"lrw__price-label\">Reserva directa<\/p>\n          <p class=\"lrw__price\" data-direct-price>Selecciona fechas<\/p>\n          <p class=\"lrw__price-note\" data-direct-note>Precio total pendiente de consulta.<\/p>\n          <p class=\"lrw__original\" data-original-price hidden><\/p>\n          <p class=\"lrw__promo\" data-promo hidden><\/p>\n          <a class=\"lrw__book\" data-book-direct href=\"https:\/\/casdanna.com\/reserva-apartamento-particular-roses-canyelles-petites\/\"\n             aria-disabled=\"true\" tabindex=\"-1\">Reservar directamente<\/a>\n        <\/div>\n        <div class=\"lrw__price-box lrw__price-box--airbnb\">\n          <p class=\"lrw__price-label\">A trav\u00e9s de Airbnb<\/p>\n          <p class=\"lrw__airbnb-price\" data-airbnb-price>Precio pendiente<\/p>\n          <span class=\"lrw__airbnb-link\" data-airbnb-placeholder>Enlace pendiente de integraci\u00f3n<\/span>\n        <\/div>\n      <\/section>\n    <\/article>\n\n    <article class=\"lrw__card\" data-room-id=\"507612\" data-result-state=\"unsearched\" aria-labelledby=\"lrw-c3-title\">\n      <div class=\"lrw__gallery\" data-gallery aria-label=\"Galer\u00eda de Casdanna 3\">\n        <div class=\"lrw__gallery-track\" data-gallery-track tabindex=\"0\">\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 1 de 54\">\n            <img data-opt-id=309538514  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-VQZUfrLE\/w:auto\/h:auto\/q:auto\/id:2ede105d059a3c3cb598a704e7dd41ff\/directUpload\/00_DSCF0122.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 3 con vistas al mar\" data-attachment-id=\"1740\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 2 de 54\">\n            <img data-opt-id=1697226703  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-AhNfRYvy\/w:auto\/h:auto\/f:best\/q:mauto\/id:65640713c59d918b0ebb7de7ea48d149\/directUpload\/01_DSCF0006.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor y cocina equipada de Casdanna 3\" data-attachment-id=\"1739\" data-scene=\"dining_kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 3 de 54\">\n            <img data-opt-id=170738391  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-i5oJCrPr\/w:auto\/h:auto\/f:best\/q:mauto\/id:1317d276d00b881a061c00d7d3d935d5\/directUpload\/DSCF0146.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 3 con vistas al mar\" data-attachment-id=\"1724\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 4 de 54\">\n            <img data-opt-id=905280083  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-gUwmvlL7\/w:auto\/h:auto\/f:best\/q:mauto\/id:0595c3bd0e3647720133af1e36fda5ce\/directUpload\/03_DSCF0231.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 3 con lavadora y electrodom\u00e9sticos\" data-attachment-id=\"1736\" data-scene=\"kitchen_laundry\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 5 de 54\">\n            <img data-opt-id=795600410  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-jBpnJlu6\/w:auto\/h:auto\/f:best\/q:mauto\/id:28d4f7b83936aa353130f7ee11de29b6\/directUpload\/IMG_1463.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Zona de descanso exterior en la terraza de Casdanna 3\" data-attachment-id=\"1681\" data-scene=\"outdoor_lounge\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 6 de 54\">\n            <img data-opt-id=179210396  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-iDS9mdVW\/w:auto\/h:auto\/f:best\/q:mauto\/id:b2c526007ac0950acc3c02fccaacd6c3\/directUpload\/IMG_1635.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n comedor de Casdanna 3\" data-attachment-id=\"1679\" data-scene=\"living_dining\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 7 de 54\">\n            <img data-opt-id=142297446  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-s_2wNkkI\/w:auto\/h:auto\/f:best\/q:mauto\/id:1e6d7a09d956fa4afc3fbdd84f66e646\/directUpload\/IMG_1334.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 3\" data-attachment-id=\"1685\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 8 de 54\">\n            <img data-opt-id=69982316  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-8WF956-1\/w:auto\/h:auto\/f:best\/q:mauto\/id:1f667ff45dcd3f10bbb33fdc4d2fe8a5\/directUpload\/IMG_1357.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3024\" height=\"4032\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 3 con zona de sof\u00e1s\" data-attachment-id=\"1683\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 9 de 54\">\n            <img data-opt-id=1432989172  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-i1w2nkpO\/w:auto\/h:auto\/f:best\/q:mauto\/id:ab33ce8907eed4c807148a625e9268bd\/directUpload\/DSCF0217.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 3\" data-attachment-id=\"1721\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 10 de 54\">\n            <img data-opt-id=626539862  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-thXFaklx\/w:auto\/h:auto\/f:best\/q:mauto\/id:bb36767d8c24f81bb1fbd92f5e1d062c\/directUpload\/IMG_1343.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 3 con acceso a la terraza y vistas al mar\" data-attachment-id=\"1684\" data-scene=\"living_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 11 de 54\">\n            <img data-opt-id=2067092258  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-D90LEJtS\/w:auto\/h:auto\/f:best\/q:mauto\/id:9ecc0ffeab9000a5e46be2ba17f28cd5\/directUpload\/estudio-vista-alucinante.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3173\" height=\"2268\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con vistas al mar\" data-attachment-id=\"1687\" data-scene=\"bedroom_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 12 de 54\">\n            <img data-opt-id=680831161  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-o_f0h64W\/w:auto\/h:auto\/f:best\/q:mauto\/id:d5acea87eef59caeda1ea2541b4346f8\/directUpload\/DSCF0678a3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1688\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 13 de 54\">\n            <img data-opt-id=1295280809  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-DN36aelV\/w:auto\/h:auto\/f:best\/q:mauto\/id:56059642939aada86a93bbbbd1c1e063\/directUpload\/DSCF0667a3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1690\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 14 de 54\">\n            <img data-opt-id=11357374  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-HpSgB7vD\/w:auto\/h:auto\/f:best\/q:mauto\/id:3d50cd27dc1e217117618d5fad786500\/directUpload\/DSCF0664a3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1692\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 15 de 54\">\n            <img data-opt-id=1763474801  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-F4K5C_ET\/w:auto\/h:auto\/f:best\/q:mauto\/id:a9d2d5c2042aca152616f04a5182c0c2\/directUpload\/DSCF0658est.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble y acceso al exterior\" data-attachment-id=\"1694\" data-scene=\"double_bedroom_terrace\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 16 de 54\">\n            <img data-opt-id=1953016323  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-wY5pK0e-\/w:auto\/h:auto\/f:best\/q:mauto\/id:7dab2f8cc3540f2b0aad159fbb1a1794\/directUpload\/DSCF0638est.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1697\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 17 de 54\">\n            <img data-opt-id=261250883  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-PO1A-0Uq\/w:auto\/h:auto\/f:best\/q:mauto\/id:14bb19d2422fb60673803adb8589a788\/directUpload\/02_DSCF0216.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n, comedor y cocina de Casdanna 3 en un espacio abierto\" data-attachment-id=\"1737\" data-scene=\"open_plan\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 18 de 54\">\n            <img data-opt-id=1817458852  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-TTW99Cob\/w:auto\/h:auto\/f:best\/q:mauto\/id:30942e21e0680ff1a0d2d877f7f23a2f\/directUpload\/DSCF0676a3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1689\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 19 de 54\">\n            <img data-opt-id=2117452398  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-Yll1N7vy\/w:auto\/h:auto\/f:best\/q:mauto\/id:c8cd21ad8187c18cf9cb32d0cafd4f52\/directUpload\/IMG_1492.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3024\" height=\"4032\" loading=\"lazy\" decoding=\"async\" alt=\"Vistas al mar desde el interior de Casdanna 3 a trav\u00e9s de las puertas de la terraza\" data-attachment-id=\"1680\" data-scene=\"terrace_sea_doors\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 20 de 54\">\n            <img data-opt-id=1890599152  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-BTRsEFFe\/w:auto\/h:auto\/f:best\/q:mauto\/id:fa834ecc64d8a2a1e79a336d124bf740\/directUpload\/01_DSCF0121.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 3 con vistas al mar\" data-attachment-id=\"1738\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 21 de 54\">\n            <img data-opt-id=1091038873  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-jL6btuUr\/w:auto\/h:auto\/f:best\/q:mauto\/id:ea577692f7d17f2cdaba2a7997e80477\/directUpload\/IMG_1444.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 3 con vistas al mar\" data-attachment-id=\"1682\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 22 de 54\">\n            <img data-opt-id=127408739  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-8x3wNWA5\/w:auto\/h:auto\/f:best\/q:mauto\/id:a29e132bdf10520c9c925ca59fb296a1\/directUpload\/DSCF0655est03.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble y acceso al exterior\" data-attachment-id=\"1695\" data-scene=\"double_bedroom_terrace\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 23 de 54\">\n            <img data-opt-id=1434296232  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-jKVsuCXz\/w:auto\/h:auto\/f:best\/q:mauto\/id:33b31bbb8abe794170bec7d8c1a2c9c3\/directUpload\/DSCF0660a3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1693\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 24 de 54\">\n            <img data-opt-id=1524517371  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-hSPWXDLw\/w:auto\/h:auto\/f:best\/q:mauto\/id:7bb9b1241c4b08c09bb9a19ddf253e31\/directUpload\/DSCF0646EST02.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con cama doble\" data-attachment-id=\"1696\" data-scene=\"double_bedroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 25 de 54\">\n            <img data-opt-id=1809657425  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-AFE2SHFz\/w:auto\/h:auto\/f:best\/q:mauto\/id:63d2b80bbfd443a00fee2aa3e7d98654\/directUpload\/DSCF0597.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1699\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 26 de 54\">\n            <img data-opt-id=666486037  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-eUxVy_3c\/w:auto\/h:auto\/f:best\/q:mauto\/id:a403680208da61d212df9c78c26ce241\/directUpload\/DSCF0582.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor y cocina equipada de Casdanna 3\" data-attachment-id=\"1704\" data-scene=\"dining_kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 27 de 54\">\n            <img data-opt-id=1271869336  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-9ibQdT7r\/w:auto\/h:auto\/f:best\/q:mauto\/id:54a79862604333934cc2efa4013f43d9\/directUpload\/DSCF0590.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1702\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 28 de 54\">\n            <img data-opt-id=93486984  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-i5CjNZsw\/w:auto\/h:auto\/f:best\/q:mauto\/id:07adf2a1ffd898ff76e0d8dc4f7fd316\/directUpload\/DSCF0594.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1701\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 29 de 54\">\n            <img data-opt-id=630859477  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-UuAjmMZ1\/w:auto\/h:auto\/f:best\/q:mauto\/id:3660c2eb29b93dbe599049869273b9cf\/directUpload\/DSCF0311-3.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Dormitorio de Casdanna 3 con vistas al mar\" data-attachment-id=\"1706\" data-scene=\"bedroom_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 30 de 54\">\n            <img data-opt-id=1847937709  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-ZKVDm_F6\/w:auto\/h:auto\/f:best\/q:mauto\/id:877f484692cec3e36e47b70275dadd43\/directUpload\/DSCF0586.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1703\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 31 de 54\">\n            <img data-opt-id=868530035  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-BArLF-W5\/w:auto\/h:auto\/f:best\/q:mauto\/id:ca0667a40da3e4ff00ba62d785fa42d0\/directUpload\/DSCF0296estbaino.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3111\" height=\"4833\" loading=\"lazy\" decoding=\"async\" alt=\"Ducha del ba\u00f1o de Casdanna 3\" data-attachment-id=\"1708\" data-scene=\"bathroom_shower\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 32 de 54\">\n            <img data-opt-id=404121267  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-ak2U7Kks\/w:auto\/h:auto\/f:best\/q:mauto\/id:54b9ce825aafd6a93fce63e7cbff3d1c\/directUpload\/DSCF0226.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Ducha del ba\u00f1o de Casdanna 3\" data-attachment-id=\"1711\" data-scene=\"bathroom_shower\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 33 de 54\">\n            <img data-opt-id=1451631996  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-WtEnLtef\/w:auto\/h:auto\/f:best\/q:mauto\/id:e7deec055bce2f5ae8527b916b931095\/directUpload\/DSCF0267.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Ba\u00f1o de Casdanna 3 con lavabo y WC\" data-attachment-id=\"1710\" data-scene=\"bathroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 34 de 54\">\n            <img data-opt-id=2082560114  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-qbXCG5A4\/w:auto\/h:auto\/f:best\/q:mauto\/id:4289667a9dc7335e43f0d1f723e76df9\/directUpload\/DSCF0289estbanio.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"Ba\u00f1o de Casdanna 3 con lavabo y WC\" data-attachment-id=\"1709\" data-scene=\"bathroom\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 35 de 54\">\n            <img data-opt-id=1432989172  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-i1w2nkpO\/w:auto\/h:auto\/f:best\/q:mauto\/id:ab33ce8907eed4c807148a625e9268bd\/directUpload\/DSCF0217.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1713\" data-scene=\"duplicate\" data-duplicate-of=\"1721\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 36 de 54\">\n            <img data-opt-id=170738391  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-i5oJCrPr\/w:auto\/h:auto\/f:best\/q:mauto\/id:1317d276d00b881a061c00d7d3d935d5\/directUpload\/DSCF0146.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1716\" data-scene=\"duplicate\" data-duplicate-of=\"1724\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 37 de 54\">\n            <img data-opt-id=670906924  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-B8Qg_5PO\/w:auto\/h:auto\/f:best\/q:mauto\/id:7815067d2666f63d664cdf2ce5dd256e\/directUpload\/DSCF0224.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Cocina equipada de Casdanna 3\" data-attachment-id=\"1712\" data-scene=\"kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 38 de 54\">\n            <img data-opt-id=1704526540  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-z33Z2ycD\/w:auto\/h:auto\/f:best\/q:mauto\/id:2d43874cc35b053e839bc12085f4f22e\/directUpload\/okDSCF0159.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor en la terraza privada de Casdanna 3 con vistas al mar\" data-attachment-id=\"1674\" data-scene=\"terrace_dining_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 39 de 54\">\n            <img data-opt-id=1572367916  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-rrYpUAHf\/w:auto\/h:auto\/f:best\/q:mauto\/id:16fe5a51937e4eb566f1d01f5e8a7896\/directUpload\/DSCF0197.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor y cocina equipada de Casdanna 3\" data-attachment-id=\"1715\" data-scene=\"dining_kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 40 de 54\">\n            <img data-opt-id=1451631996  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-WtEnLtef\/w:auto\/h:auto\/f:best\/q:mauto\/id:e7deec055bce2f5ae8527b916b931095\/directUpload\/DSCF0267.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1718\" data-scene=\"duplicate\" data-duplicate-of=\"1710\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 41 de 54\">\n            <img data-opt-id=2082560114  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-qbXCG5A4\/w:auto\/h:auto\/f:best\/q:mauto\/id:4289667a9dc7335e43f0d1f723e76df9\/directUpload\/DSCF0289estbanio.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1717\" data-scene=\"duplicate\" data-duplicate-of=\"1709\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 42 de 54\">\n            <img data-opt-id=1952245860  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-sxM20YsQ\/w:auto\/h:auto\/f:best\/q:mauto\/id:03964ed332fa9ab12bd0013edd450d8c\/directUpload\/DSCF0201.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Vistas al mar desde el interior de Casdanna 3 a trav\u00e9s de las puertas de la terraza\" data-attachment-id=\"1714\" data-scene=\"terrace_sea_doors\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 43 de 54\">\n            <img data-opt-id=1572367916  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-rrYpUAHf\/w:auto\/h:auto\/f:best\/q:mauto\/id:16fe5a51937e4eb566f1d01f5e8a7896\/directUpload\/DSCF0197.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1723\" data-scene=\"duplicate\" data-duplicate-of=\"1715\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 44 de 54\">\n            <img data-opt-id=1952245860  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-sxM20YsQ\/w:auto\/h:auto\/f:best\/q:mauto\/id:03964ed332fa9ab12bd0013edd450d8c\/directUpload\/DSCF0201.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1722\" data-scene=\"duplicate\" data-duplicate-of=\"1714\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 45 de 54\">\n            <img data-opt-id=404121267  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-ak2U7Kks\/w:auto\/h:auto\/f:best\/q:mauto\/id:54b9ce825aafd6a93fce63e7cbff3d1c\/directUpload\/DSCF0226.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3264\" height=\"4896\" loading=\"lazy\" decoding=\"async\" alt=\"\" data-attachment-id=\"1719\" data-scene=\"duplicate\" data-duplicate-of=\"1711\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 46 de 54\">\n            <img data-opt-id=1938298684  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-HD79oqnh\/w:auto\/h:auto\/f:best\/q:mauto\/id:f4254f6d5492b6a8ed8f4d8a1bb1ac6e\/directUpload\/IMG_1645.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n comedor de Casdanna 3\" data-attachment-id=\"1677\" data-scene=\"living_dining\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 47 de 54\">\n            <img data-opt-id=1120964360  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-pOlatQoV\/w:auto\/h:auto\/f:best\/q:mauto\/id:ea7500cee3bbc35c4bc65b65c315cd06\/directUpload\/DSCF0132.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 3 con vistas al mar\" data-attachment-id=\"1728\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 48 de 54\">\n            <img data-opt-id=1032840788  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-Y1PTnxXH\/w:auto\/h:auto\/f:best\/q:mauto\/id:a4cce72621cee99bd730ee939fd7c1ec\/directUpload\/06_IMG_1368.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n, comedor y cocina de Casdanna 3 en un espacio abierto\" data-attachment-id=\"1732\" data-scene=\"open_plan\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 49 de 54\">\n            <img data-opt-id=742916042  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-1v8-5UCU\/w:auto\/h:auto\/f:best\/q:mauto\/id:f6b02a35fcb6935d43dbf75b16115fdc\/directUpload\/DSCF0131.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Barbacoa y comedor exterior en la terraza de Casdanna 3 con vistas al mar\" data-attachment-id=\"1729\" data-scene=\"terrace_barbecue_sea\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 50 de 54\">\n            <img data-opt-id=775386195  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-8YGZTHEt\/w:auto\/h:auto\/f:best\/q:mauto\/id:d07873bd872da0f9715d4af1d1bccd0f\/directUpload\/07_IMG_1490.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Vistas al mar desde el interior de Casdanna 3 a trav\u00e9s de las puertas de la terraza\" data-attachment-id=\"1730\" data-scene=\"terrace_sea_doors\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 51 de 54\">\n            <img data-opt-id=1134329600  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-Sx2Hx0au\/w:auto\/h:auto\/f:best\/q:mauto\/id:1679a913845d151f60805b5a782ed52e\/directUpload\/07_IMG_1364.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3024\" height=\"4032\" loading=\"lazy\" decoding=\"async\" alt=\"Sal\u00f3n de Casdanna 3 con zona de sof\u00e1s\" data-attachment-id=\"1731\" data-scene=\"living_sofa\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 52 de 54\">\n            <img data-opt-id=127391068  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-aWDSG4SE\/w:auto\/h:auto\/f:best\/q:mauto\/id:ce843dfb266eac108667093ba571cc0b\/directUpload\/04_DSCF0569.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4896\" height=\"3264\" loading=\"lazy\" decoding=\"async\" alt=\"Comedor y cocina equipada de Casdanna 3\" data-attachment-id=\"1734\" data-scene=\"dining_kitchen\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 53 de 54\">\n            <img data-opt-id=355211395  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-tj5j0H_G\/w:auto\/h:auto\/f:best\/q:mauto\/id:06aaea192a9fce56aeffcccb5e1b971c\/directUpload\/IMG_1659.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"4032\" height=\"3024\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1675\" data-scene=\"hallway\">\n          <\/a>\n          <a class=\"lrw__gallery-slide\" data-gallery-slide href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver Casdanna 3, foto 54 de 54\">\n            <img data-opt-id=693528851  data-opt-src=\"https:\/\/mlblxybmabvb.i.optimole.com\/co-ZpyQ-VbhEcriB\/w:auto\/h:auto\/f:best\/q:mauto\/id:82c1e2356e6e5a72bd2c84fdc95ea785\/directUpload\/IMG_1652.jpg\"  src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" width=\"3024\" height=\"4032\" loading=\"lazy\" decoding=\"async\" alt=\"Distribuidor interior de Casdanna 3\" data-attachment-id=\"1676\" data-scene=\"hallway\">\n          <\/a>\n        <\/div>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--prev\" type=\"button\" data-gallery-prev aria-label=\"Foto anterior\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <button class=\"lrw__gallery-arrow lrw__gallery-arrow--next\" type=\"button\" data-gallery-next aria-label=\"Foto siguiente\"><svg aria-hidden=\"true\"><use href=\"#lrw-icon-chevron\"><\/use><\/svg><\/button>\n        <span class=\"lrw__gallery-counter\" aria-live=\"polite\"><span data-gallery-index>1<\/span> \/ <span data-gallery-total>54<\/span><\/span>\n        <a class=\"lrw__gallery-apartment\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver el apartamento Casdanna 3\">Ver apartamento<\/a>\n      <\/div>\n\n      <div class=\"lrw__content\">\n        <div class=\"lrw__title-block\">\n          <p class=\"lrw__floor\">Tercera planta<\/p>\n          <a class=\"lrw__apartment-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\" aria-label=\"Ver el apartamento Casdanna 3\">Ver apartamento<\/a>\n          <div class=\"lrw__heading-line\">\n            <h3 id=\"lrw-c3-title\">\n              <a href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\">Casdanna 3<\/a>\n            <\/h3>\n            <span class=\"lrw__licence\">HUTG-033807<\/span>\n          <\/div>\n          <p class=\"lrw__availability\" data-availability role=\"status\">\n            <span aria-hidden=\"true\"><\/span><strong>Consulta tus fechas<\/strong>\n          <\/p>\n        <\/div>\n\n        <p class=\"lrw__description\">\n          El apartamento m\u00e1s grande, con 95 m\u00b2 construidos, terraza privada de 40 m\u00b2, muy cerca de la playa y con\n          las vistas panor\u00e1micas m\u00e1s impresionantes al mar y al entorno desde la tercera planta.\n        <\/p>\n\n        <dl class=\"lrw__facts\">\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-guests\"><\/use><\/svg><dt>Capacidad<\/dt><dd>Hasta 7 hu\u00e9spedes<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bed\"><\/use><\/svg><dt>Dormitorios<\/dt><dd>3 dormitorios<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-terrace\"><\/use><\/svg><dt>Terraza<\/dt><dd>40 m\u00b2<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-bath\"><\/use><\/svg><dt>Ba\u00f1os<\/dt><dd>2 ba\u00f1os completos<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-garage\"><\/use><\/svg><dt>Aparcamiento<\/dt><dd>Garaje individual<\/dd><\/div>\n          <div><svg aria-hidden=\"true\"><use href=\"#lrw-icon-wifi\"><\/use><\/svg><dt>Internet<\/dt><dd>Wifi de fibra<\/dd><\/div>\n        <\/dl>\n\n        <details class=\"lrw__equipment\">\n          <summary>Detalles<\/summary>\n          <div class=\"lrw__secondary-facts\">\n            <p><strong>M\u00e1ximo de adultos:<\/strong> 6 adultos; 5 con ocupaci\u00f3n de 7 hu\u00e9spedes<\/p>\n            <p><strong>Camas:<\/strong> 1 doble, 4 individuales y 1 plegable<\/p>\n          <\/div>\n          <ul>\n            <li>Wifi de fibra \u00f3ptica<\/li>\n            <li>Garaje individual y plaza exterior adicional preasignada si fuese necesaria<\/li>\n            <li>Smart TV y televisi\u00f3n internacional por sat\u00e9lite<\/li>\n            <li>Horno, lavavajillas, lavadora y microondas<\/li>\n            <li>Nespresso y cafetera de filtro<\/li>\n            <li>Barbacoa de carb\u00f3n o le\u00f1a y mobiliario exterior<\/li>\n            <li data-distance-to-beach>A 150 m de la playa en l\u00ednea recta<\/li>\n            <li><a class=\"lrw__details-link\" href=\"https:\/\/casdanna.com\/roses-alquiler-particular-apartamento-3\/\">Equipamiento y caracter\u00edsticas<\/a><\/li>\n          <\/ul>\n        <\/details>\n      <\/div>\n\n      <section class=\"lrw__prices\" aria-labelledby=\"lrw-c3-price-title\">\n        <h4 id=\"lrw-c3-price-title\">Precio de la estancia<\/h4>\n        <div class=\"lrw__price-box lrw__price-box--direct\">\n          <p class=\"lrw__price-label\">Reserva directa<\/p>\n          <p class=\"lrw__price\" data-direct-price>Selecciona fechas<\/p>\n          <p class=\"lrw__price-note\" data-direct-note>Precio total pendiente de consulta.<\/p>\n          <p class=\"lrw__original\" data-original-price hidden><\/p>\n          <p class=\"lrw__promo\" data-promo hidden><\/p>\n          <a class=\"lrw__book\" data-book-direct href=\"https:\/\/casdanna.com\/reserva-apartamento-particular-roses-canyelles-petites\/\"\n             aria-disabled=\"true\" tabindex=\"-1\">Reservar directamente<\/a>\n        <\/div>\n        <div class=\"lrw__price-box lrw__price-box--airbnb\">\n          <p class=\"lrw__price-label\">A trav\u00e9s de Airbnb<\/p>\n          <p class=\"lrw__airbnb-price\" data-airbnb-price>Precio pendiente<\/p>\n          <span class=\"lrw__airbnb-link\" data-airbnb-placeholder>Enlace pendiente de integraci\u00f3n<\/span>\n        <\/div>\n      <\/section>\n    <\/article>\n  <\/div>\n\n  <p class=\"lrw__global-status\" data-global-status role=\"status\" aria-live=\"polite\"><\/p>\n<\/section>\n\n<style>\n  .lrw {\n    --lrw-blue: #54B7D2;\n    --lrw-blue-soft: #EAF8FB;\n    --lrw-blue-dark: #2F3747;\n    --lrw-orange: #C46D30;\n    --lrw-orange-dark: #9A4A16;\n    --lrw-text: #2F3747;\n    --lrw-muted: #667085;\n    --lrw-border: #D8E2E7;\n    --lrw-surface: #FFFFFF;\n    --lrw-background: #F6FCFD;\n    --lrw-success: #138A47;\n    --lrw-success-soft: #EAF8F0;\n    --lrw-error: #A12622;\n    --lrw-error-soft: #FFF0EE;\n    width: min(1180px, calc(100% - 32px));\n    margin: 38px auto;\n    color: var(--lrw-text);\n    font-family: Montserrat, Arial, sans-serif;\n    line-height: 1.5;\n  }\n\n  .lrw *, .lrw *::before, .lrw *::after { box-sizing: border-box; }\n  .lrw__svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }\n  .lrw a { color: inherit; }\n  .lrw__header { max-width: 850px; margin: 0 auto 24px; text-align: center; }\n  .lrw__eyebrow { margin: 0 0 5px; color: var(--lrw-orange-dark); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }\n  .lrw__header h2 { margin: 0; font-size: clamp(1.65rem, 4vw, 2.55rem); line-height: 1.16; }\n  .lrw__intro { margin: 12px auto 0; color: var(--lrw-muted); }\n  .lrw__query { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 16px; padding: 8px 14px; border-radius: 999px; background: var(--lrw-blue-soft); font-size: .9rem; }\n  .lrw__query-label { color: var(--lrw-muted); }\n\n  .lrw__results { display: grid; gap: 24px; }\n  .lrw__card {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(270px, 310px);\n    min-width: 0;\n    overflow: hidden;\n    border: 1px solid var(--lrw-border);\n    border-radius: 26px;\n    background: var(--lrw-surface);\n    box-shadow: 0 14px 38px rgba(47, 55, 71, .11);\n  }\n\n  .lrw__gallery { position: relative; grid-column: 1 \/ -1; min-width: 0; padding: 14px; background: var(--lrw-background); }\n  .lrw__gallery-track { display: grid; grid-template-columns: 1.05fr 1.32fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; height: 430px; overflow: hidden; border-radius: 18px; }\n  .lrw__gallery-slide { display: block; min-width: 0; min-height: 0; overflow: hidden; background: #DDE8EC; }\n  .lrw__gallery-slide:nth-child(1) { grid-column: 1; grid-row: 1 \/ 3; border-radius: 14px 0 0 14px; }\n  .lrw__gallery-slide:nth-child(2) { grid-column: 2 \/ 4; grid-row: 1; border-radius: 0 14px 0 0; }\n  .lrw__gallery-slide:nth-child(3) { grid-column: 2; grid-row: 2; }\n  .lrw__gallery-slide:nth-child(4) { grid-column: 3; grid-row: 2; border-radius: 0 0 14px 0; }\n  .lrw__gallery-slide:nth-child(n+5) { display: none; }\n  .lrw__gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .25s ease; }\n  .lrw__gallery-slide:hover img { transform: scale(1.025); }\n  .lrw__gallery-arrow, .lrw__gallery-counter, .lrw__gallery-apartment { display: none; }\n\n  .lrw__content { min-width: 0; padding: 25px 28px 26px; }\n  .lrw__title-block { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: \"floor button availability\" \"heading heading heading\"; align-items: center; gap: 16px 18px; }\n  .lrw__heading-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }\n  .lrw__floor { grid-area: floor; margin: 0; color: var(--lrw-muted); font-size: .76rem; font-weight: 650; }\n  .lrw__heading-line { grid-area: heading; }\n  .lrw__content h3 { margin: 0; font-size: 1.75rem; line-height: 1.18; }\n  .lrw__content h3 a { text-decoration-thickness: 1px; text-decoration-color: transparent; text-underline-offset: 4px; }\n  .lrw__content h3 a:hover { text-decoration-color: var(--lrw-blue); }\n  .lrw__apartment-link { grid-area: button; display: inline-flex; min-height: 34px; align-items: center; justify-self: center; padding: 6px 12px; border: 1px solid var(--lrw-blue-dark); border-radius: 999px; background: var(--lrw-blue-dark); color: #FFFFFF !important; font-size: .76rem; font-weight: 800; line-height: 1; text-decoration: none; }\n  .lrw__apartment-link:hover { border-color: #1F2937; background: #1F2937; }\n  .lrw__availability { grid-area: availability; display: inline-flex; align-items: center; justify-self: end; gap: 7px; margin: 0; padding: 6px 10px; border-radius: 999px; background: #F3F4F6; color: var(--lrw-muted); font-size: .76rem; }\n  .lrw__availability > span { width: 9px; height: 9px; border-radius: 50%; background: #98A2B3; }\n  .lrw__description { margin: 16px 0; color: #465064; }\n\n  .lrw__facts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 14px 0; border-top: 1px solid #E7EDF0; border-bottom: 1px solid #E7EDF0; }\n  .lrw__facts div { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 4px 5px; text-align: center; }\n  .lrw__facts svg { width: 30px; height: 30px; margin-bottom: 6px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: #26384A; }\n  .lrw__facts dt { order: 3; margin-top: 2px; color: var(--lrw-muted); font-size: .63rem; font-weight: 750; line-height: 1.2; text-transform: uppercase; }\n  .lrw__facts dd { order: 2; margin: 0; font-size: .78rem; font-weight: 800; line-height: 1.25; }\n  .lrw__secondary-facts { display: grid; grid-template-columns: 1fr; gap: 5px; margin-top: 8px; color: #465064; font-size: .82rem; }\n  .lrw__secondary-facts p { margin: 0; }\n  .lrw__equipment { margin-top: 16px; padding: 0; }\n  .lrw__equipment summary { min-height: 36px; cursor: pointer; font-weight: 750; text-decoration: underline; text-decoration-color: var(--lrw-blue); text-underline-offset: 4px; }\n  .lrw__equipment ul { margin: 8px 0 0; padding-left: 20px; color: #465064; font-size: .86rem; }\n  .lrw__equipment li + li { margin-top: 4px; }\n  .lrw__details-link { display: inline; color: #16758F !important; font-size: inherit; font-weight: 800; line-height: inherit; text-decoration-line: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 4px; }\n  .lrw__details-link:hover { color: #0F586D !important; }\n  .lrw__licence { color: var(--lrw-muted); font-size: .74rem; font-weight: 500; }\n\n  .lrw__prices { min-width: 0; padding: 25px 22px; border-left: 1px solid var(--lrw-border); background: #FBFDFE; }\n  .lrw__prices h4 { margin: 0 0 12px; font-size: .98rem; }\n  .lrw__price-box { padding: 16px; border: 1px solid var(--lrw-border); border-radius: 18px; background: #FFFFFF; }\n  .lrw__price-box + .lrw__price-box { margin-top: 12px; }\n  .lrw__price-box--direct { border-color: #E7C3AA; background: #FFF9F5; }\n  .lrw__price-box--airbnb { background: #F7F8FA; }\n  .lrw__price-label { margin: 0; color: var(--lrw-muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; }\n  .lrw__price, .lrw__airbnb-price { margin: 5px 0 0; font-size: 1.4rem; font-weight: 850; line-height: 1.2; }\n  .lrw__price-note { margin: 6px 0 0; color: var(--lrw-muted); font-size: .78rem; }\n  .lrw__original { margin: 7px 0 0; color: var(--lrw-muted); font-size: .82rem; text-decoration: line-through; }\n  .lrw__promo { margin: 6px 0 0; padding: 7px 9px; border-radius: 10px; background: var(--lrw-blue-soft); color: #14596B; font-size: .78rem; font-weight: 750; }\n  .lrw__book { display: flex; min-height: 46px; align-items: center; justify-content: center; margin-top: 13px; padding: 8px 14px; border-radius: 13px; background: var(--lrw-orange); color: #FFFFFF !important; font-weight: 800; text-align: center; text-decoration: none; }\n  .lrw__book:hover { background: var(--lrw-orange-dark); }\n  .lrw__book[aria-disabled=\"true\"] { pointer-events: none; opacity: .48; }\n  .lrw__airbnb-link { display: inline-block; margin-top: 8px; color: var(--lrw-muted); font-size: .78rem; }\n  a.lrw__airbnb-link { color: var(--lrw-text); font-weight: 750; text-decoration-color: var(--lrw-blue); text-underline-offset: 3px; }\n\n  .lrw__card[data-result-state=\"available\"] .lrw__availability { background: var(--lrw-success-soft); color: #0D6535; }\n  .lrw__card[data-result-state=\"available\"] .lrw__availability > span { background: var(--lrw-success); }\n  .lrw__card[data-result-state=\"unavailable\"] .lrw__availability { background: var(--lrw-error-soft); color: var(--lrw-error); }\n  .lrw__card[data-result-state=\"unavailable\"] .lrw__availability > span { background: var(--lrw-error); }\n  .lrw__card[data-result-state=\"error\"] .lrw__availability { background: #FFF4E5; color: #8A4B08; }\n  .lrw__card[data-result-state=\"error\"] .lrw__availability > span { background: #C97812; }\n  .lrw__global-status { min-height: 1.4em; margin: 16px 0 0; color: var(--lrw-error); text-align: center; font-weight: 650; }\n\n  .lrw :is(a, button, summary):focus-visible { outline: 3px solid #87CBDC; outline-offset: 3px; }\n  .lrw [hidden] { display: none !important; }\n\n  @media (max-width: 980px) {\n    .lrw__card { grid-template-columns: 1fr; }\n    .lrw__gallery-track { height: 390px; }\n    .lrw__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 16px; }\n    .lrw__prices { grid-column: 1 \/ -1; display: grid; grid-template-columns: 170px repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; border-top: 1px solid var(--lrw-border); border-left: 0; }\n    .lrw__prices h4 { margin: 15px 0 0; }\n    .lrw__price-box + .lrw__price-box { margin-top: 0; }\n  }\n\n  @media (max-width: 680px) {\n    .lrw { width: 100%; margin-top: 28px; }\n    .lrw__header { padding: 0 16px; text-align: left; }\n    .lrw__query { justify-content: flex-start; border-radius: 14px; }\n    .lrw__results { gap: 30px; }\n    .lrw__card { grid-template-columns: 1fr; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }\n    .lrw__gallery { width: 100vw; margin-left: calc(50% - 50vw); padding: 0; background: transparent; }\n    .lrw__gallery-track { display: flex; gap: 0; height: clamp(320px, 86vw, 520px); overflow-x: auto; overflow-y: hidden; border-radius: 0; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }\n    .lrw__gallery-track::-webkit-scrollbar { display: none; }\n    .lrw__gallery-slide, .lrw__gallery-slide:nth-child(n) { display: block; flex: 0 0 100%; grid-column: auto; grid-row: auto; border-radius: 0; scroll-snap-align: start; }\n    .lrw__gallery-arrow { position: absolute; top: 50%; z-index: 3; display: grid; width: 44px; height: 44px; padding: 0; transform: translateY(-50%); place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--lrw-text); box-shadow: 0 5px 18px rgba(0,0,0,.18); cursor: pointer; }\n    .lrw__gallery-arrow svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }\n    .lrw__gallery-arrow--prev { left: 14px; }\n    .lrw__gallery-arrow--prev svg { transform: rotate(180deg); }\n    .lrw__gallery-arrow--next { right: 14px; }\n    .lrw__gallery-counter { position: absolute; right: 14px; bottom: 30px; z-index: 3; display: inline-flex; padding: 5px 9px; border-radius: 999px; background: rgba(34,39,48,.82); color: #FFFFFF; font-size: .76rem; font-weight: 750; }\n    .lrw__gallery-apartment { position: absolute; left: 50%; bottom: 58px; z-index: 3; display: inline-flex; min-height: 38px; align-items: center; padding: 8px 15px; transform: translateX(-50%); border-radius: 999px; background: var(--lrw-blue-dark); color: #FFFFFF !important; font-size: .78rem; font-weight: 800; white-space: nowrap; text-decoration: none; box-shadow: 0 4px 14px rgba(0,0,0,.22); }\n    .lrw__gallery-apartment:hover { background: #1F2937; }\n    .lrw__content { position: relative; z-index: 4; margin-top: -28px; padding: 27px 19px 24px; border-radius: 30px 30px 0 0; background: #FFFFFF; }\n    .lrw__title-block { grid-template-columns: 1fr; grid-template-areas: \"floor\" \"heading\" \"availability\"; gap: 8px; }\n    .lrw__apartment-link { display: none; }\n    .lrw__availability { justify-self: start; margin: 0; }\n    .lrw__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 5px; }\n    .lrw__facts svg { width: 28px; height: 28px; }\n    .lrw__prices { grid-column: auto; display: block; padding: 20px 18px 26px; border-left: 0; background: #FBFDFE; }\n    .lrw__prices h4 { margin-top: 0; }\n    .lrw__price-box + .lrw__price-box { margin-top: 12px; }\n    .lrw__global-status { padding: 0 16px; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .lrw *, .lrw *::before, .lrw *::after { scroll-behavior: auto !important; transition: none !important; }\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  const roots = document.querySelectorAll(\"[data-casdanna-listings]\");\n  if (!roots.length) return;\n\n  const localeByLang = { es: \"es-ES\", fr: \"fr-FR\", de: \"de-DE\", en: \"en-GB\", nl: \"nl-NL\" };\n  const distanceToBeachByLang = {\n    es: \"A 150 m de la playa en l\u00ednea recta\",\n    fr: \"\u00c0 150 m de la plage \u00e0 vol d\u2019oiseau\",\n    de: \"150 m Luftlinie vom Strand entfernt\",\n    en: \"150 m from the beach in a straight line\",\n    nl: \"150 m hemelsbreed van het strand\"\n  };\n  const lang = (document.documentElement.lang || \"es\").toLowerCase().slice(0, 2);\n  const locale = localeByLang[lang] || localeByLang.es;\n\n  function formatMoney(value, currency) {\n    const amount = Number(value);\n    if (!Number.isFinite(amount)) return null;\n    return new Intl.NumberFormat(locale, {\n      style: \"currency\",\n      currency: currency || \"EUR\",\n      maximumFractionDigits: 2\n    }).format(amount);\n  }\n\n  function parseDate(value) {\n    if (!\/^\\d{4}-\\d{2}-\\d{2}$\/.test(String(value || \"\"))) return null;\n    const parts = value.split(\"-\").map(Number);\n    const date = new Date(parts[0], parts[1] - 1, parts[2], 12);\n    if (date.getFullYear() !== parts[0]) return null;\n    if (date.getMonth() !== parts[1] - 1) return null;\n    if (date.getDate() !== parts[2]) return null;\n    return date;\n  }\n\n  function shortDate(value) {\n    const date = parseDate(value);\n    if (!date) return \"\";\n    return new Intl.DateTimeFormat(locale, { day: \"numeric\", month: \"short\", year: \"numeric\" }).format(date);\n  }\n\n  function safeUrl(value) {\n    if (!value) return null;\n    try {\n      const url = new URL(value, location.origin);\n      if (url.protocol === \"https:\") return url.href;\n      if (url.protocol === \"http:\") return url.href;\n    } catch (error) {\n      return null;\n    }\n    return null;\n  }\n\n  function setText(root, selector, text) {\n    const element = root.querySelector(selector);\n    if (element) element.textContent = text;\n  }\n\n  function resetDynamic(card) {\n    card.dataset.resultState = \"unsearched\";\n    setText(card, \"[data-availability] strong\", \"Consulta tus fechas\");\n    setText(card, \"[data-direct-price]\", \"Selecciona fechas\");\n    setText(card, \"[data-direct-note]\", \"Precio total pendiente de consulta.\");\n    setText(card, \"[data-airbnb-price]\", \"Precio pendiente\");\n    const original = card.querySelector(\"[data-original-price]\");\n    const promo = card.querySelector(\"[data-promo]\");\n    original.hidden = true;\n    original.textContent = \"\";\n    promo.hidden = true;\n    promo.textContent = \"\";\n    const directLink = card.querySelector(\"[data-book-direct]\");\n    directLink.setAttribute(\"aria-disabled\", \"true\");\n    directLink.setAttribute(\"tabindex\", \"-1\");\n    const oldAirbnb = card.querySelector(\"a[data-airbnb-link]\");\n    if (oldAirbnb) {\n      const placeholder = document.createElement(\"span\");\n      placeholder.className = \"lrw__airbnb-link\";\n      placeholder.dataset.airbnbPlaceholder = \"\";\n      placeholder.textContent = \"Enlace pendiente de integraci\u00f3n\";\n      oldAirbnb.replaceWith(placeholder);\n    }\n  }\n\n  function updateDirectLink(card, value, enabled) {\n    const link = card.querySelector(\"[data-book-direct]\");\n    const url = safeUrl(value);\n    if (enabled) {\n      if (url) {\n        link.href = url;\n        link.removeAttribute(\"aria-disabled\");\n        link.removeAttribute(\"tabindex\");\n        return;\n      }\n    }\n    link.setAttribute(\"aria-disabled\", \"true\");\n    link.setAttribute(\"tabindex\", \"-1\");\n  }\n\n  function updateAirbnb(card, airbnb) {\n    const current = card.querySelector(\"[data-airbnb-placeholder], [data-airbnb-link]\");\n    const total = airbnb ? formatMoney(airbnb.total, airbnb.currency) : null;\n    setText(card, \"[data-airbnb-price]\", total || \"Consultar en Airbnb\");\n    const url = airbnb ? safeUrl(airbnb.url) : null;\n    if (!url) return;\n    const link = document.createElement(\"a\");\n    link.className = \"lrw__airbnb-link\";\n    link.dataset.airbnbLink = \"\";\n    link.href = url;\n    link.textContent = \"Ver este apartamento en Airbnb\";\n    if (current) current.replaceWith(link);\n  }\n\n  function updateCard(card, room) {\n    resetDynamic(card);\n    if (!room) return;\n\n    if (room.error === true) {\n      card.dataset.resultState = \"error\";\n      setText(card, \"[data-availability] strong\", \"No se ha podido consultar\");\n      setText(card, \"[data-direct-price]\", \"Consulta no disponible\");\n      setText(card, \"[data-direct-note]\", \"Int\u00e9ntalo de nuevo o contacta con nosotros.\");\n      updateAirbnb(card, room.airbnb);\n      return;\n    }\n\n    if (room.available !== true) {\n      card.dataset.resultState = \"unavailable\";\n      setText(card, \"[data-availability] strong\", \"No disponible\");\n      setText(card, \"[data-direct-price]\", \"No disponible\");\n      setText(card, \"[data-direct-note]\", \"Este apartamento no est\u00e1 libre durante toda la estancia seleccionada.\");\n      updateDirectLink(card, null, false);\n      updateAirbnb(card, room.airbnb);\n      return;\n    }\n\n    card.dataset.resultState = \"available\";\n    setText(card, \"[data-availability] strong\", \"Disponible\");\n    const direct = room.direct || {};\n    const discounted = formatMoney(direct.discounted, direct.currency);\n    const total = formatMoney(direct.total, direct.currency);\n    const originalValue = formatMoney(direct.original ?? direct.total, direct.currency);\n    setText(card, \"[data-direct-price]\", discounted || total || \"Precio pendiente\");\n    setText(card, \"[data-direct-note]\", \"Precio total de la estancia mediante reserva directa.\");\n\n    const original = card.querySelector(\"[data-original-price]\");\n    if (discounted) {\n      if (originalValue) {\n        original.textContent = `Precio antes del descuento: ${originalValue}`;\n        original.hidden = false;\n      }\n    }\n\n    const promo = card.querySelector(\"[data-promo]\");\n    if (room.promo) {\n      if (room.promo.valid === true) {\n        const savings = formatMoney(room.promo.savings, direct.currency);\n        const code = String(room.promo.code || \"\").trim();\n        const promoLabel = code ? `C\u00f3digo ${code}` : \"Descuento promocional\";\n        promo.textContent = savings ? `${promoLabel}: ahorras ${savings}` : `${promoLabel} aplicado`;\n        promo.hidden = false;\n      }\n    }\n\n    updateDirectLink(card, direct.bookingUrl, true);\n    updateAirbnb(card, room.airbnb);\n  }\n\n  function updateQuerySummary(root, query) {\n    const text = root.querySelector(\"[data-query-text]\");\n    if (!query) {\n      text.textContent = \"A\u00fan no has seleccionado fechas.\";\n      return;\n    }\n    const arrival = shortDate(query.arrival);\n    const departure = shortDate(query.departure);\n    if (!arrival) {\n      text.textContent = \"A\u00fan no has seleccionado fechas.\";\n      return;\n    }\n    if (!departure) {\n      text.textContent = `Llegada ${arrival}; falta seleccionar la salida.`;\n      return;\n    }\n    const travellers = Number(query.adults || 0) + Number(query.children || 0);\n    const travellerText = travellers === 1 ? \"1 viajero\" : `${travellers} viajeros`;\n    text.textContent = `${arrival} \u2013 ${departure}, ${travellerText}`;\n  }\n\n  function setResults(payload) {\n    roots.forEach(root => {\n      const rooms = payload ? payload.rooms : [];\n      const list = Array.isArray(rooms) ? rooms : [];\n      updateQuerySummary(root, payload ? payload.query : null);\n      root.querySelectorAll(\"[data-room-id]\").forEach(card => {\n        const room = list.find(item => String(item.roomId) === card.dataset.roomId);\n        updateCard(card, room);\n      });\n      setText(root, \"[data-global-status]\", payload ? String(payload.message || \"\") : \"\");\n    });\n  }\n\n  function reset() {\n    roots.forEach(root => {\n      updateQuerySummary(root, null);\n      root.querySelectorAll(\"[data-room-id]\").forEach(resetDynamic);\n      setText(root, \"[data-global-status]\", \"\");\n    });\n  }\n\n  function initGallery(gallery) {\n    const track = gallery.querySelector(\"[data-gallery-track]\");\n    const slides = Array.from(gallery.querySelectorAll(\"[data-gallery-slide]\"));\n    const previous = gallery.querySelector(\"[data-gallery-prev]\");\n    const next = gallery.querySelector(\"[data-gallery-next]\");\n    const current = gallery.querySelector(\"[data-gallery-index]\");\n    const total = gallery.querySelector(\"[data-gallery-total]\");\n    let frame = 0;\n\n    if (!track) return;\n    if (!slides.length) return;\n    total.textContent = String(slides.length);\n\n    function activeIndex() {\n      if (!track.clientWidth) return 0;\n      return Math.max(0, Math.min(slides.length - 1, Math.round(track.scrollLeft \/ track.clientWidth)));\n    }\n\n    function updateCounter() {\n      current.textContent = String(activeIndex() + 1);\n    }\n\n    function goTo(index) {\n      const normalized = (index + slides.length) % slides.length;\n      track.scrollTo({ left: normalized * track.clientWidth, behavior: \"smooth\" });\n    }\n\n    if (slides.length < 2) {\n      previous.hidden = true;\n      next.hidden = true;\n      gallery.querySelector(\".lrw__gallery-counter\").hidden = true;\n      return;\n    }\n\n    previous.addEventListener(\"click\", () => goTo(activeIndex() - 1));\n    next.addEventListener(\"click\", () => goTo(activeIndex() + 1));\n    track.addEventListener(\"scroll\", () => {\n      cancelAnimationFrame(frame);\n      frame = requestAnimationFrame(updateCounter);\n    }, { passive: true });\n    updateCounter();\n  }\n\n  roots.forEach(root => {\n    root.querySelectorAll(\"[data-distance-to-beach]\").forEach(item => {\n      item.textContent = distanceToBeachByLang[lang] || distanceToBeachByLang.es;\n    });\n    root.querySelectorAll(\"[data-gallery]\").forEach(initGallery);\n  });\n\n  const api = { setResults, reset };\n  window.CasdannaListingWidgets = api;\n  window.dispatchEvent(new CustomEvent(\"casdanna:listings-ready\", { detail: { api } }));\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Selecciona las fechas y los viajeros para consultar la disponibilidad. Llegada Salida Adultos Ni\u00f1os Beb\u00e9s C\u00f3digo promocional Buscar disponibilidad Fechas A\u00f1ade fechas Viajeros A\u00f1ade viajeros Buscar \u00bfTienes un c\u00f3digo promocional? C\u00f3digo promocional Aplicar \u00bfCu\u00e1ndo? Cerrar Fechas exactas Mes anterior Mes siguiente Disponible Seleccionada No disponible Restablecer Siguiente \u00bfQui\u00e9n? Cerrar Adultos 13 a\u00f1os o m\u00e1s \u2212Reducir&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-4241","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"infocasdanna@gmail.com","author_link":"https:\/\/casdanna.com\/en\/author\/infocasdannagmail-com\/"},"uagb_comment_info":0,"uagb_excerpt":"Selecciona las fechas y los viajeros para consultar la disponibilidad. Llegada Salida Adultos Ni\u00f1os Beb\u00e9s C\u00f3digo promocional Buscar disponibilidad Fechas A\u00f1ade fechas Viajeros A\u00f1ade viajeros Buscar \u00bfTienes un c\u00f3digo promocional? C\u00f3digo promocional Aplicar \u00bfCu\u00e1ndo? Cerrar Fechas exactas Mes anterior Mes siguiente Disponible Seleccionada No disponible Restablecer Siguiente \u00bfQui\u00e9n? Cerrar Adultos 13 a\u00f1os o m\u00e1s \u2212Reducir...","_links":{"self":[{"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/pages\/4241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/comments?post=4241"}],"version-history":[{"count":5,"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/pages\/4241\/revisions"}],"predecessor-version":[{"id":4247,"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/pages\/4241\/revisions\/4247"}],"wp:attachment":[{"href":"https:\/\/casdanna.com\/en\/wp-json\/wp\/v2\/media?parent=4241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}