.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,0.506);background:#fff;border-bottom:1px solid #bbb;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:8px;padding-left:0;padding-top:2px;position:absolute;z-index:9999;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.xdsoft_datetimepicker.xdsoft_rtl{padding:8px 0 8px 8px}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:transparent;border:0}.xdsoft_datetimepicker button{border:none !important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:transparent}.xdsoft_noselect::-moz-selection{background:transparent}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker{float:right;margin-right:8px;margin-left:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_monthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0 none;cursor:pointer;display:block;height:30px;opacity:.5;-ms-filter:"alpha(opacity=50)";outline:medium none;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px;min-width:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next{float:none;margin-left:0;margin-right:14px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #ddd}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#f5f5f5;border-top:1px solid #ddd;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_today_button:hover,.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover{opacity:1;-ms-filter:"alpha(opacity=100)"}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1.0}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none !important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar th{height:25px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.2857142%;background:#f5f5f5;border:1px solid #ddd;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#f1f1f1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3af}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3af;box-shadow:#178fe5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;-ms-filter:"alpha(opacity=50)";cursor:default}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2;-ms-filter:"alpha(opacity=20)"}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff !important;background:#ff8000 !important;box-shadow:none !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover{background:#3af !important;box-shadow:#178fe5 0 1px 3px 0 inset !important;color:#fff !important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit !important;background:inherit !important;box-shadow:inherit !important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc !important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee !important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa !important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc !important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar{left:0;right:auto}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,0.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default{background:#ffe9d2;box-shadow:#ffb871 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint{background:#c1ffc9;box-shadow:#00dd1c 0 1px 4px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000 !important;background:#007fff !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111 !important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555 !important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333 !important}.xdsoft_datetimepicker .xdsoft_save_selected{display:block;border:1px solid #ddd !important;margin-top:5px;width:100%;color:#454551;font-size:13px}.xdsoft_datetimepicker .blue-gradient-button{font-family:"museo-sans","Book Antiqua",sans-serif;font-size:12px;font-weight:300;color:#82878c;height:28px;position:relative;padding:4px 17px 4px 33px;border:1px solid #d7d8da;background:-moz-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(73%,#f4f8fa));background:-webkit-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-o-linear-gradient(top,#fff 0,#f4f8fa 73%);background:-ms-linear-gradient(top,#fff 0,#f4f8fa 73%);background:linear-gradient(to bottom,#fff 0,#f4f8fa 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff',endColorstr='#f4f8fa',GradientType=0)}.xdsoft_datetimepicker .blue-gradient-button:hover,.xdsoft_datetimepicker .blue-gradient-button:focus,.xdsoft_datetimepicker .blue-gradient-button:hover span,.xdsoft_datetimepicker .blue-gradient-button:focus span{color:#454551;background:-moz-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f4f8fa),color-stop(73%,#FFF));background:-webkit-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-o-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:-ms-linear-gradient(top,#f4f8fa 0,#FFF 73%);background:linear-gradient(to bottom,#f4f8fa 0,#FFF 73%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4f8fa',endColorstr='#FFF',GradientType=0)}

/**
 * Public Styles for Availability Datepicker
 *
 * @package Availability_Datepicker
 * @since 1.0.0
 */

/* Form Integration Styles */
.avdp-cf7-form .avdp-datepicker-field,
.avdp-wpforms-form .avdp-datepicker-field {
    position: relative;
}

.avdp-datepicker-field input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.avdp-datepicker-field input:focus {
    outline: none;
    border-color: #0073aa;
    box-shadow: 0 0 0 1px #0073aa;
}

/* Loading State */
.avdp-loading {
    position: relative;
    opacity: 0.6;
    pointer-events: none;
}

.avdp-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #0073aa;
    border-radius: 50%;
    animation: avdp-spin 1s linear infinite;
}

@keyframes avdp-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Error Messages */
.avdp-error {
    color: #d63638;
    font-size: 13px;
    margin-top: 5px;
}

/* Success Messages */
.avdp-success {
    color: #00a32a;
    font-size: 13px;
    margin-top: 5px;
}

/* Inline Datepicker Styles */
.xdsoft_datetimepicker.xdsoft_inline {
    display: inline-block !important;
    position: static !important;
    margin: 10px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    width: auto !important;
    max-width: 100%;
    vertical-align: top;
}

/* Clearfix for inline datepicker to contain floated children */
.xdsoft_datetimepicker.xdsoft_inline::after {
    content: "";
    display: table;
    clear: both;
}

/* Hide the input field when inline datepicker is being used */
.avdp-inline-mode input.avdp-initialized {
    display: none !important;
}

/* Wrapper to contain inline datepicker properly */
.avdp-inline-wrapper {
    display: block;
    clear: both;
}

/* Container for inline datepicker - prevents layout disruption */
.avdp-datepicker-field .xdsoft_datetimepicker.xdsoft_inline {
    display: inline-block !important;
}

/* Ensure the datepicker container breaks to new line after form elements */
.xdsoft_datetimepicker.xdsoft_inline+* {
    clear: both;
}
/*
 * LA FICHA DE PROPIEDAD QUE ARMA EL PLUGIN (includes/class-ficha.php).
 *
 * DÓNDE LLEGA ESTA HOJA. Sólo a las propiedades que están en la lista de Ajustes → "Propiedades
 * con la ficha del plugin". No se encola por "es una propiedad": se encola cuando la ficha la
 * armamos nosotros (ver `Ficha::estilos()`). Las 43 que siguen con Elementor no bajan ni un byte
 * de acá. Todo cuelga de `.rental-ficha` —con una sola excepción, `.rental-ficha-contenido`, que es el
 * `<main>` que envuelve la ficha y lleva su motivo escrito—, así que ninguna regla puede alcanzar
 * al catálogo, a la portada ni a una página.
 *
 * CÓMO ESTÁ ORDENADO EL ARCHIVO:
 *   1. iconos y utilidades          (los dos diseños)
 *   2. tronco común                 (los dos diseños)
 *   3. el carrusel                  (los dos diseños)
 *   4. DISEÑO A — `.rental-ficha--a`
 *   5. DISEÑO B — `.rental-ficha--b`
 *   6. la barra de marca            (sólo si no aparece ningún marco del sitio)
 *
 * TIPOGRAFÍA: no se declara ni una familia. Todo hereda del tema y los tamaños van en
 * `rem`/`clamp` relativos a lo que el sitio ya usa. La ficha tiene que parecer del mismo sitio,
 * no de un plugin. Vale para los DOS diseños: el B es otra distribución, no otra marca.
 *
 * COLOR: el acento de la marca en `--rental-acento`, y DOS derivados que el plugin calcula a
 * partir de él —`--rental-acento-texto` para cuando hace de texto sobre blanco, y
 * `--rental-sobre-acento` para lo que va encima del acento—. Los tres los inyecta el plugin desde
 * el ajuste (Ajustes → Ficha propia → Color de acento); los valores de acá son sólo el respaldo.
 * Los derivados no se eligen a ojo: se calculan por contraste, así ningún acento claro puede
 * dejar el precio o la píldora ilegibles. Ver `Ajustes::ficha_acento_texto()`.
 *
 * `!important`: NINGUNO. Si mañana hace falta uno para ganarle a una regla del tema, va con el
 * motivo escrito al lado — nunca "por si acaso".
 *
 * MÓVIL PRIMERO: el diseño base es de una columna. Las dos columnas del A, la cuadrícula ancha
 * del B y el formulario pegajoso aparecen recién en las media queries de ancho mínimo.
 */

.rental-ficha {
	/* Sólo se usa si el plugin no llegara a inyectar el ajuste (`Ficha::estilos()`), así que tiene
	   que ser el MISMO dorado de fábrica que `Ajustes::FICHA_ACENTO_POR_DEFECTO`. Ya pasó una vez
	   que acá quedara un valor viejo y en PHP otro: dos colores de fábrica para lo mismo. */
	--rental-acento: #fcb94d;
	/* El acento cuando hace de TEXTO sobre blanco. El dorado a secas da 1,72:1 contra el fondo:
	   el precio se vería como un borrón. Este es el mismo tono, oscurecido hasta pasar 4,5:1.
	   El plugin lo recalcula desde el ajuste; esto es sólo el respaldo. */
	--rental-acento-texto: #8a6520;
	/* Lo que va ENCIMA del acento. Antes era `#fff` escrito a mano en cada regla, y sobre este
	   dorado daba 1,72:1. El casi negro de la marca da 9,78:1. */
	--rental-sobre-acento: #141e28;
	--rental-tinta-suave: #5b6670;
	--rental-linea: #e2e6e8;
	--rental-fondo: #f5f7f8;
	--rental-radio: 10px;
	--rental-ancho: 1200px;

	/*
	 * LA FICHA PINTA SU PROPIO FONDO, Y NO PINTARLO LA DEJABA ILEGIBLE.
	 *
	 * Esta ficha no vive en una página en blanco: vive dentro del `<body>` del sitio, y hereda lo
	 * que ese body tenga. Todo su color está pensado para papel claro —el título en #333, los
	 * datos en #5b6670, las tarjetas en blanco sobre gris muy claro—, así que un body oscuro no la
	 * "oscurece": la borra.
	 *
	 * Medido en rentalelsalvador.com el 2026-08-28, con Divi: `body { background: #141e28 }`, un
	 * azul marino que en el resto del sitio no se ve nunca porque cada sección de Divi pinta la
	 * suya. La ficha era la única que no pintaba, así que le pasaba el azul por debajo y quedaba
	 * texto gris sobre azul marino: **el título en 1,33:1**, la ubicación en 2,87 y los datos en
	 * 2,94. De la mitad de la página para abajo no se leía absolutamente nada.
	 *
	 * No es un problema del tema ni de un color mal elegido: es que faltaba la línea. Una región
	 * que trae su propia paleta tiene que traer también el papel sobre el que la escribe. Va como
	 * variable y no como valor suelto para que un sitio que de verdad quiera ficha oscura pueda
	 * cambiar sólo esto.
	 */
	--rental-papel: #ffffff;
	/*
	 * LA TINTA ES MÁS OSCURA QUE EL #333 DE LAS TARJETAS, Y ES A PROPÓSITO.
	 *
	 * #333 con peso 500 es lo que usa el sitio para títulos de tarjeta: textos cortos que se
	 * miran de pasada. La ficha es otra cosa —párrafos largos, listas de veinte líneas, una
	 * descripción que alguien lee entera antes de decidir si le escribe— y ahí ese gris se lee
	 * apagado. No es que no contraste: contrasta 12,63:1. Es que PARECE gris, y en una página de
	 * lectura la sensación importa tanto como el número.
	 *
	 * Tampoco va negro puro: #000 sobre blanco cansa. #1f1f1f es tinta de verdad sin ser dura.
	 */
	--rental-tinta: #1f1f1f;

	background: var(--rental-papel);
	color: var(--rental-tinta);
}

.rental-ficha__ancho {
	max-width: var(--rental-ancho);
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 32px);
}

/*
 * EL `<main>` QUE ENVUELVE LA FICHA — lo imprime `Marco::abrir_contenido()`.
 *
 * Es el único selector de este archivo que NO cuelga de `.rental-ficha`, y por eso va con el motivo
 * escrito al lado: el tema define en su theme.json
 *
 *     :where(.wp-site-blocks) > * { margin-block-start: min(2rem, 3.5vw) }
 *
 * o sea que todo hijo directo del envoltorio de bloques —y este `<main>` lo es— se despega hasta
 * 32 px de la cabecera. En el diseño B la galería tiene que abrir PEGADA a la cabecera: ese aire
 * es justo lo que arruina la portada.
 *
 * El sitio resuelve lo mismo con la clase `mt-0` del tema (comprobado en vivo: está en
 * `realome/build/style-index.css` como `margin-top:0!important` y el tema se la pone al contenido
 * y al pie). Nuestro `<main>` la lleva también, pero no dependemos de ella: si mañana el tema deja
 * de traerla, esta regla sigue de pie. Le gana a la del tema sin `!important`, porque `:where()`
 * no suma especificidad.
 */
.rental-ficha-contenido {
	margin-block-start: 0;
}

/* ---------------------------------------------------------------- 1. iconos y utilidades */

/*
 * LOS ICONOS EN LÍNEA (includes/class-iconos.php).
 *
 * Antes eran `<i class="fas fa-bed">`, o sea Font Awesome — y en esta plantilla Font Awesome NO
 * se carga (comprobado contra el sitio en vivo: la ficha no la arma Elementor, así que su hoja de
 * iconos no llega). Las `<i>` salían vacías: cajas de cero píxeles donde tenía que haber un
 * icono. Ahora el dibujo viaja dentro del HTML.
 *
 * El tamaño va en `em` para que el icono crezca y se achique CON la letra que tiene al lado.
 *
 * EL COLOR: EL DEL TEXTO, NO EL ACENTO. Acá había un `color: var(--rental-acento)` que contradecía al
 * propio SVG —el dibujo se pinta con `stroke="currentColor"` justamente para tomar el color de su
 * vecino— y contradecía también al comentario de class-iconos.php, que decía que el icono seguía
 * al texto. Se eligió que lo siga de verdad, y por diseño y no por comodidad: en esta ficha el
 * turquesa quiere decir "esto es el precio" o "esto se toca" (el precio, el botón de consultar, la
 * etiqueta de operación, el subrayado de los encabezados). Cinco iconos turquesa seguidos en la
 * tira de datos le gastan el acento a lo que sí lo necesita y le dan peso de titular a una cama y
 * a una tina. El icono es la etiqueta de su número; va del mismo color que su número.
 */
.rental-icono {
	width: 1.15em;
	height: 1.15em;
	/* Que no se encoja cuando el texto de al lado es largo y la fila se aprieta. */
	flex: 0 0 auto;
}

/* Para cuando el icono va suelto dentro de un párrafo y no dentro de un flex. */
.rental-ficha__tecnica .rental-icono {
	margin-right: .5rem;
	vertical-align: -.2em;
}

/*
 * Visible para el lector de pantalla, invisible en la pantalla. Lo usa el `<h2>` con el recuento
 * de fotos del diseño B: ahí no puede haber un título por delante de la galería (las fotos son
 * lo primero, ése es el punto del diseño) pero quien navega sin ver sí necesita saber cuántas
 * hay antes de entrar al carrusel.
 */
.rental-ficha__oculto {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ---------------------------------------------------------------- 2. tronco común */

/*
 * LA TINTA DE LOS TITULARES SE PONE ACÁ, Y NO ALCANZA CON HEREDARLA.
 *
 * `.rental-ficha` declara `color: var(--rental-tinta)` y así el texto corrido queda en #1f1f1f. Los
 * titulares no: en el sitio en vivo el <h1> salía #333, el gris que se había quedado corto y que se
 * arregló en la 1.6.1. La corrección nunca le llegó.
 *
 * Y NO ES CUESTIÓN DE ESPECIFICIDAD, que es lo primero que uno piensa. Un valor HEREDADO pierde
 * contra CUALQUIER regla que le apunte al elemento, por floja que sea: el tema declara
 * `h1, h2, h3 { color: #333 }` por etiqueta y eso gana, porque nosotros no le apuntábamos al <h1>,
 * se lo pasábamos desde el padre. Medido en vivo en la ficha del terreno: el <h1>, el <h2> de
 * sección y el <h3> de la descripción daban 51,51,51; los <p> y los <li>, 31,31,31.
 *
 * Por eso los titulares llevan el color escrito, no heredado.
 */
.rental-ficha__titulo {
	margin: 0 0 .4rem;
	color: var(--rental-tinta);
	font-size: clamp(1.5rem, 3.4vw, 2.25rem);
	line-height: 1.2;
}

.rental-ficha__ubicacion {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0;
	color: var(--rental-tinta-suave);
	font-size: .95rem;
}

.rental-ficha__badge {
	display: inline-block;
	margin: 0 0 .5rem;
	padding: .2em .7em;
	border-radius: 999px;
	background: var(--rental-acento);
	color: var(--rental-sobre-acento);
	font-size: .75rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	/* Ancho de contenido: sin esto el `inline-block` dentro de un flex column se estira. */
	align-self: flex-start;
}

/*
 * LA FILA DE DATOS. Tiene que entrar en un teléfono de 375 px, y si no entra tiene que ENVOLVER
 * en dos renglones, nunca cortarse: por eso `flex-wrap` y por eso la separación entre columnas
 * baja en pantalla chica. Medido con los cinco datos más largos del inventario, en 375 px
 * (343 útiles) la fila cae en dos renglones y ninguno se sale.
 */
.rental-ficha__datos {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem 1rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

/* En el A la fila cierra el encabezado a lo ancho, con su propia línea encima: por eso el margen
   lo pone la rejilla y acá se anula el de arriba. */
.rental-ficha--a .rental-ficha__datos {
	margin: 0;
	padding-top: .95rem;
	border-top: 1px solid var(--rental-linea);
	color: var(--rental-tinta);
}

.rental-ficha__dato {
	display: inline-flex;
	/* Centro óptico: con `baseline` el dibujo se apoya sobre la línea y queda flotando alto.
	   Y como los once dibujos ocupan la MISMA banda dentro de la caja de 24 (de y=4.5 a y=19.5,
	   medido con getBBox — ver includes/class-iconos.php), centrarlos deja la fila pareja de
	   verdad. Antes esa frase era una suposición: el auto medía 10,4 y la tina 16,0. */
	align-items: center;
	gap: .45rem;
	min-width: 0;
	font-size: .95rem;
	line-height: 1.4;
}

@media (min-width: 700px) {
	.rental-ficha__datos {
		gap: .6rem 1.6rem;
	}
}

/*
 * EL PRECIO. `tabular-nums` no es un adorno: sin él, en la tipografía del tema el 1 es más angosto
 * que el resto, y "$1,350" al lado de "$3,500" se leen con la coma en distinto sitio. Cuando el
 * visitante compara dos fichas en dos pestañas, esa coma bailando es exactamente lo que le cuesta.
 */
.rental-ficha__precio {
	margin: 0;
	color: var(--rental-acento-texto);
	font-size: clamp(1.6rem, 4vw, 2.25rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

/* La barrita dorada es lo único que se pinta con el color de marca a tamaño grande: marca dónde
   está el precio sin teñir el número, que tiene que seguir siendo legible sobre el papel. */
.rental-ficha--a .rental-ficha__precio-caja::before {
	content: "";
	display: block;
	width: 2.25rem;
	height: 3px;
	margin-bottom: .6rem;
	background: var(--rental-acento);
}

.rental-ficha__precio--consultar {
	font-size: clamp(1.15rem, 2.6vw, 1.5rem);
	font-weight: 600;
}

/*
 * EL PIE DEL PRECIO. Las versalitas y el espaciado son de cuando este renglón decía «Fijos»: el
 * estilo de una ETIQUETA. Ahora lleva una CIFRA —«$101 por m²»— y a una cifra las versalitas le
 * quedan mal: «POR M²» grita, el espaciado separa los dígitos, y «m²» en mayúscula no es como se
 * escribe la unidad. Se le deja el tamaño chico y el color suave, que es lo que sí corresponde.
 */
.rental-ficha__precio-tipo {
	margin: .25rem 0 0;
	color: var(--rental-tinta-suave);
	font-size: .8rem;
	font-variant-numeric: tabular-nums;
}

/* ---- secciones ---- */

.rental-ficha__seccion {
	margin: clamp(28px, 5vw, 44px) 0;
}

.rental-ficha__titulo-seccion {
	display: inline-block;
	margin: 0 0 1rem;
	color: var(--rental-tinta);
	padding-bottom: .4rem;
	border-bottom: 2px solid var(--rental-acento);
	font-size: clamp(1.1rem, 2.2vw, 1.35rem);
	line-height: 1.3;
}

.rental-ficha__nota {
	margin: .6rem 0 0;
	color: var(--rental-tinta-suave);
	font-size: .85rem;
}

/* ---- descripción ---- */

.rental-ficha__descripcion {
	/* El CRM manda descripciones de hasta 19.000 caracteres con tablas y listas adentro. */
	overflow-wrap: break-word;
	/*
	 * 16px Y NO LOS 14 QUE HEREDA DEL TEMA.
	 *
	 * Divi trae 14px de cuerpo, que está bien dentro de una tarjeta o una barra lateral. Acá el
	 * texto ocupa el ancho de la página y es lo único que cuenta lo que la propiedad TIENE: 14px
	 * a lo ancho de 1.100 px son renglones largos y letra chica a la vez, la peor combinación
	 * para leer. Con 16 y una interlínea de 1,75 el mismo texto se lee sin esfuerzo.
	 */
	font-size: 16px;
	line-height: 1.75;
}

/* Los títulos internos de la descripción también crecen, para que la jerarquía se mantenga. */
/* Mismo motivo que en el titular: el color va escrito, no heredado, o el tema se lo lleva. */
.rental-ficha__descripcion h2,
.rental-ficha__descripcion h3,
.rental-ficha__descripcion h4,
.rental-ficha__descripcion h5,
.rental-ficha__descripcion h6 {
	color: var(--rental-tinta);
}

.rental-ficha__descripcion h2 { font-size: 24px; }
.rental-ficha__descripcion h3 { font-size: 20px; }
.rental-ficha__descripcion h4 { font-size: 17px; }

.rental-ficha__descripcion li {
	font-size: 16px;
	line-height: 1.7;
}

.rental-ficha__descripcion img {
	max-width: 100%;
	height: auto;
}

.rental-ficha__descripcion table {
	/* `display:block` es lo que le da a la tabla su propia barra de desplazamiento: sin esto,
	   una tabla ancha del CRM empuja la página entera de lado en el teléfono. */
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.rental-ficha__descripcion td,
.rental-ficha__descripcion th {
	padding: .4rem .6rem;
	border: 1px solid var(--rental-linea);
}

/* ---- ficha técnica ---- */

.rental-ficha__tecnica ul,
.rental-ficha__tecnica .crm-ficha-tecnica {
	display: grid;
	grid-template-columns: 1fr;
	gap: .5rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rental-ficha__tecnica li {
	padding: .5rem 0;
	border-bottom: 1px solid var(--rental-linea);
}

@media (min-width: 600px) {
	.rental-ficha__tecnica ul,
	.rental-ficha__tecnica .crm-ficha-tecnica {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---- amenidades ---- */

.rental-ficha__amenidades {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: .4rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rental-ficha__amenidad {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	font-size: .95rem;
	line-height: 1.5;
}

.rental-ficha__amenidad::before {
	content: "\2713"; /* Un check de texto: no depende de que Font Awesome esté cargado. */
	flex: 0 0 auto;
	color: var(--rental-acento-texto);
	font-weight: 700;
}

/* ---- video ---- */

.rental-ficha__video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--rental-radio);
	background: var(--rental-fondo);
}

.rental-ficha__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Cuando el proveedor no contesta, lo que queda es un enlace: que no herede la caja 16:9. */
.rental-ficha__video:not(:has(iframe)) {
	aspect-ratio: auto;
	background: none;
}

/* ---- mapa ---- */

.rental-ficha__mapa-direccion {
	margin: 0 0 .75rem;
	color: var(--rental-tinta-suave);
}

.rental-ficha__mapa {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid var(--rental-linea);
	border-radius: var(--rental-radio);
	background: var(--rental-fondo);
}

.rental-ficha__mapa iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (min-width: 700px) {
	.rental-ficha__mapa {
		aspect-ratio: 16 / 9;
	}
}

/* ---- tarjeta de contacto ---- */

.rental-ficha__tarjeta {
	padding: clamp(16px, 3vw, 24px);
	border: 1px solid var(--rental-linea);
	border-top: 3px solid var(--rental-acento);
	border-radius: var(--rental-radio);
	/* Fondo y tinta explícitos, y es la única parte donde se imponen: la tarjeta es una
	   superficie propia y tiene que leerse igual sea cual sea el color que el tema le dé al
	   contenedor de al lado. */
	background: #fff;
	color: #1d2327;
}

/* Con el color ESCRITO, por lo mismo que el titular de la ficha: heredarlo no alcanza contra la
   regla por etiqueta del tema. */
.rental-ficha__tarjeta-titulo {
	color: var(--rental-tinta);
	margin: 0 0 .35rem;
	font-size: 1.1rem;
	line-height: 1.3;
}

.rental-ficha__codigo {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 1rem;
	color: var(--rental-tinta-suave);
	font-size: .85rem;
	letter-spacing: .03em;
}

.rental-ficha__formulario .wpforms-container,
.rental-ficha__formulario .wpforms-container-full {
	margin: 0;
}

.rental-ficha__formulario input[type="text"],
.rental-ficha__formulario input[type="email"],
.rental-ficha__formulario input[type="tel"],
.rental-ficha__formulario textarea,
.rental-ficha__formulario select {
	max-width: 100%;
}

/* ---------------------------------------------------------------- 3. el carrusel */

/*
 * Se mueve con `scroll-snap`, no con JavaScript. Eso da tres cosas gratis: el dedo en el
 * teléfono, la rueda en el escritorio, y que siga funcionando si el JS no carga — que en este
 * sitio puede pasar, porque la ficha no la arma Elementor. El JS sólo enciende las flechas, el
 * contador y la tira de miniaturas.
 */
.rental-carrusel__marco {
	position: relative;
	overflow: hidden;
	border-radius: var(--rental-radio);
	background: #0d1b1a;
}

.rental-carrusel__pista {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.rental-carrusel__pista::-webkit-scrollbar {
	display: none;
}

.rental-carrusel__lamina {
	position: relative;
	flex: 0 0 100%;
	margin: 0;
	scroll-snap-align: center;
}

/* `contain` Y NO `cover`, Y ES UNA DECISIÓN, NO UN DESCUIDO.
   Con `cover` la foto llena el marco y se recorta lo que sobra. Funciona con fotos apaisadas y
   destroza las verticales: medido en la ficha de la oficina, 14 de sus 19 fotos son verticales
   (960x1280) y en un marco de 1136x400 se veían como una franja del medio — un pedazo de pared,
   sin techo ni piso. En un anuncio inmobiliario la foto ES el producto: mostrarla entera importa
   más que llenar el rectángulo.
   Con `contain` la foto se ve completa siempre, y a los lados queda el fondo oscuro del marco
   (`.rental-carrusel__marco`), que ya estaba puesto y ahora tiene sentido. Es lo que hace
   cualquier galería que se tome en serio las fotos verticales. */
.rental-carrusel__lamina img {
	display: block;
	width: 100%;
	height: clamp(240px, 56vh, 620px);
	object-fit: contain;
}

/*
 * EL TELÓN: la misma foto, desenfocada, rellenando lo que `contain` deja vacío.
 *
 * `contain` es una decisión, no un descuido (está explicado arriba): recortar una foto vertical
 * de una casa es tirar la mitad de la casa. Pero deja franjas, y en este inventario las deja casi
 * siempre: 59 % de las fotos son verticales. Un rectángulo oscuro al lado de la foto se lee como
 * un error de la página; la misma foto desenfocada se lee como un fondo.
 *
 * `scale(1.15)` porque el desenfoque difumina también los BORDES: sin agrandar quedaría una orla
 * clara de 28 px alrededor. Y `brightness(.45)` para que el telón no le pelee el ojo a la foto de
 * verdad, que es la que hay que mirar.
 */
.rental-carrusel__telon {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(28px) brightness(.45);
	transform: scale(1.15);
	pointer-events: none;
}

/* La foto de verdad y su pie van POR DELANTE del telón: el telón es `absolute`, y sin z-index
   escrito el apilado dependería del orden del documento. Se deja escrito para no depender de él. */
.rental-carrusel__lamina > .rental-ficha__foto-img,
.rental-carrusel__lamina > .rental-carrusel__pie {
	position: relative;
	z-index: 1;
}

/*
 * EL PIE LE DEJA EL HUECO AL CONTADOR, y esto era un defecto medido en el sitio en vivo: a
 * 375 px el título envuelve, la última línea llega hasta el borde derecho y se mete DEBAJO de
 * la píldora del contador — 57 × 30 px de solape en "Venta de casa en Quintas Las Mercedes",
 * con el "1 / 23" encima de la palabra "Mercedes". Los dos están posicionados sobre la misma
 * esquina, así que en pantalla ancha nunca se tocan y el defecto sólo sale en el teléfono.
 *
 * El hueco lo mide el JS (`--rental-pie-derecha`), no un número puesto a ojo: el ancho de la
 * píldora depende de cuántos dígitos tenga la galería ("1 / 9" y "100 / 235" no miden igual) y
 * un valor fijo o se queda corto en una galería grande o desperdicia media línea en una chica.
 * Si el JS no corre no hay contador —nace `hidden` y lo enciende él—, así que el respaldo es el
 * relleno de siempre y no sobra ningún hueco.
 */
.rental-carrusel__pie {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 28px 16px 12px;
	padding-right: var(--rental-pie-derecha, 16px);
	background: linear-gradient(transparent, rgba(0, 0, 0, .65));
	color: #fff;
	font-size: 14px;
}

/* Las flechas nacen ocultas: sin JS no harían nada y un botón muerto es peor que ningún botón.
   El JS las muestra. */
.rental-carrusel__flecha {
	position: absolute;
	top: 50%;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	transform: translateY(-50%);
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
	color: #0d1b1a;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.rental-carrusel__flecha:hover {
	background: #fff;
}

.rental-carrusel__flecha:focus-visible {
	outline: 3px solid var(--rental-acento);
	outline-offset: 2px;
}

.rental-carrusel__flecha--atras {
	left: 12px;
}

.rental-carrusel__flecha--adelante {
	right: 12px;
}

.rental-carrusel__flecha[hidden] {
	display: none;
}

.rental-carrusel__contador {
	position: absolute;
	right: 12px;
	bottom: 12px;
	margin: 0;
	padding: 4px 10px;
	border-radius: 20px;
	background: rgba(13, 27, 26, .72);
	color: #fff;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

.rental-carrusel__contador[hidden] {
	display: none;
}

.rental-carrusel__tiras {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 10px 2px 2px;
	scrollbar-width: thin;
}

.rental-carrusel__tira {
	display: block;
	flex: 0 0 96px;
	overflow: hidden;
	border-radius: 6px;
	opacity: .55;
	transition: opacity .15s;
}

.rental-carrusel__tira img {
	display: block;
	width: 96px;
	height: 68px;
	object-fit: cover;
}

.rental-carrusel__tira:hover,
.rental-carrusel__tira:focus-visible {
	opacity: 1;
}

.rental-carrusel__tira[aria-current="true"] {
	opacity: 1;
	outline: 3px solid var(--rental-acento);
	outline-offset: -3px;
}

.rental-ficha__foto-img {
	display: block;
	width: 100%;
	object-fit: cover;
}

@media (max-width: 640px) {
	.rental-carrusel__tira {
		flex-basis: 72px;
	}

	.rental-carrusel__tira img {
		width: 72px;
		height: 52px;
	}

	.rental-carrusel__flecha {
		width: 38px;
		height: 38px;
		font-size: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rental-carrusel__pista {
		scroll-behavior: auto;
	}

	.rental-carrusel__tira {
		transition: none;
	}
}

/* ================================================================ 4. DISEÑO A ================
 *
 * Banda de portada · encabezado con el precio a la derecha · carrusel a lo ancho · cuerpo en dos
 * columnas (lectura + formulario pegajoso al costado) · mapa dentro de la lectura.
 */

/*
 * LA VITRINA: el carrusel a lo ancho, arriba del todo. Ya no hay banda de imagen destacada aparte
 * —era la misma foto que la lámina 1 en las 13 fichas publicadas—, así que la primera pantalla la
 * ocupa la galería de verdad, la que se puede recorrer.
 */
/*
 * LA VITRINA SE ALINEA CON EL TEXTO, NO CON LOS BORDES DE LA PANTALLA.
 *
 * Estuvo a lo ancho y estaba mal, y el inventario lo dice con números: de las 177 fotos
 * publicadas, 105 son VERTICALES (59 %) y la mediana del original mide 960 px de ancho —105 de
 * las 177 no llegan a 1000—. Una banda de 1600 px con una foto de 720x1280 dentro dejaba 283 px
 * de foto y el resto oscuro. Cuanto más ancha la banda, peor se veía.
 *
 * Dentro de la columna de lectura la foto se ve del tamaño que da la foto, y la página deja de
 * prometer una portada de revista que estas fotos no pueden cumplir.
 */
.rental-ficha--a .rental-ficha__vitrina {
	max-width: var(--rental-ancho);
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 32px);
}

/*
 * EL MARCO SE HACE DEL TAMAÑO DE LAS FOTOS, NO AL REVÉS.
 *
 * 960 px es la MEDIANA del ancho de original del inventario (177 fotos medidas; la más chica
 * tiene 590 y la más grande 1600). Un marco de ese ancho enseña la mitad del catálogo a tamaño
 * real o casi: es lo más nítido que estas fotos pueden verse. Estirarlas a 1200 o a 1600 no
 * agrega información, solo agranda los píxeles.
 *
 * Y LA PROPORCIÓN IMPORTA MÁS QUE EL ANCHO, porque 105 de las 177 son verticales. Con 960 de
 * ancho y hasta 660 de alto el marco queda en 1,45:1 —cerca de 3:2— y una foto vertical de
 * 720x1280 pasa de llenar el 24 % del marco a llenar el 56 %. La misma foto, más del doble de
 * grande, sin recortarle nada.
 */
.rental-ficha--a .rental-carrusel {
	max-width: 960px;
	margin-inline: auto;
}

.rental-ficha--a .rental-carrusel__lamina img {
	height: clamp(300px, 62vh, 660px);
}

/*
 * LA ALTURA DE LA PORTADA EN TELÉFONO, y el número sale de una medición, no del gusto.
 *
 * Con la altura de escritorio (56vh) la foto se comía 373 px de un iPhone SE (667 de alto) y el
 * precio caía en y=700: FUERA de la primera pantalla. En una ficha inmobiliaria el precio es el
 * dato por el que se entró; que haya que desplazar para verlo es el defecto, no la foto chica.
 *
 * A 42vh la portada mide 280 px en ese mismo teléfono y el precio entra con holgura. Se comprueba
 * abajo, medido, en 375x667 y en 375x812.
 */
/*
 * `not all and (min-width: 768px)` Y NO `max-width: 767px`, que es la misma trampa que este
 * archivo ya documenta para el par de 720: entre 767 y 768 hay anchos con decimales que no caen
 * en ninguno de los dos lados. Escrito como negación no queda franja posible.
 */
@media not all and (min-width: 768px) {
	.rental-ficha--a .rental-carrusel__lamina img {
		height: clamp(220px, 42vh, 420px);
	}

	/*
	 * EN TELÉFONO EL PRECIO VA ARRIBA DEL TÍTULO, y no es un capricho: es la única forma de que
	 * entre en la primera pantalla.
	 *
	 * Medido en el sitio en vivo, en la ficha del Terreno #2 a 375 de ancho: cabecera de Divi
	 * 0–109 · foto 109–389 · miniaturas 389–461 · etiqueta 481–507 · título 530–655 (CUATRO
	 * renglones) · precio 736–790. Un iPhone SE con las barras del navegador puestas enseña 553
	 * px. El precio nacía 183 px por debajo del pliegue: había que arrastrar para ver cuánto
	 * cuesta, en la página cuya única pregunta es cuánto cuesta.
	 *
	 * (Y sí, yo había medido «45 px de holgura». Estaba midiendo contra `innerHeight`, que en un
	 * navegador sin barras da 667. Ese teléfono no existe.)
	 *
	 * El `order` cambia lo que se VE, no lo que se lee: en el marcado el <h1> sigue primero, así
	 * que el buscador y el lector de pantalla siguen encontrando el título antes que el precio.
	 */
	.rental-ficha--a .rental-ficha__badge {
		order: -2;
	}

	.rental-ficha--a .rental-ficha__precio-caja {
		order: -1;
	}

	/*
	 * Y LA TIRA DE MINIATURAS NO VA EN TELÉFONO. Se come 72 px de la primera pantalla para ofrecer
	 * un gesto que el carrusel ya tiene: ahí se pasa de foto con el dedo. Además baja hasta 306 KB
	 * en la ficha más pesada. Es el único recorte que no le quita nada a nadie.
	 */
	.rental-ficha--a .rental-carrusel__tiras {
		display: none;
	}
}

/*
 * EL ENCABEZADO ES UNA REJILLA DE TRES RENGLONES, y el del medio tiene dos columnas:
 *
 *     ┌ ALQUILER ─────────────────────────────────────┐   etiqueta, a lo ancho
 *     │ Alquiler de apartamento en…      $1,350 al mes│   título │ precio
 *     │ Colonia Escalón, San Salvador                 │
 *     ├───────────────────────────────────────────────┤
 *     │ 3 dormitorios · 3.5 baños · 125 m² · Nivel 3  │   la fila de datos, a lo ancho
 *     └───────────────────────────────────────────────┘
 *
 * POR QUÉ LA ETIQUETA VA SUELTA ARRIBA y no dentro de la columna del título: si va dentro, empuja
 * al título hacia abajo y el precio —que no tiene etiqueta— arranca más arriba que él. Quedaban
 * desalineados por la altura exacta de una píldora. Sueltos en su propio renglón, título y precio
 * empiezan a la misma altura.
 *
 * Y POR QUÉ LOS DATOS CIERRAN A LO ANCHO en vez de colgar del título: son de la propiedad entera,
 * no de la columna izquierda. Con una línea encima quedan como el renglón de la letra chica.
 */
.rental-ficha--a .rental-ficha__encabezado {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .9rem;
	padding: clamp(20px, 3.5vw, 32px) 0 clamp(18px, 3vw, 26px);
	border-bottom: 1px solid var(--rental-linea);
}

/*
 * `justify-self` Y NO `align-self`. La píldora traía `align-self: flex-start`, que en la columna
 * flex de antes le bastaba para no estirarse. En una rejilla `align-self` es el eje VERTICAL: no la
 * sujetaba nada y la etiqueta se estiraba al ancho entero de la fila. Medido en el laboratorio:
 * 1200 px de banda dorada cruzando la página para decir "EN ALQUILER".
 *
 * VA EN EL BLOQUE BASE, no dentro de la consulta de 768: en teléfono la rejilla es de una sola
 * columna, pero las celdas de una rejilla se estiran igual. El defecto era de los dos tamaños.
 */
.rental-ficha--a .rental-ficha__badge {
	justify-self: start;
}

/* El relleno de ARRIBA va en el contenedor y no en el primer hijo: así también despega el
   formulario del costado, que colgaba de la misma línea del encabezado. */
.rental-ficha--a .rental-ficha__cuerpo {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 4vw, 44px);
	align-items: start;
	padding-top: clamp(24px, 4vw, 44px);
	padding-bottom: clamp(28px, 5vw, 48px);
}

.rental-ficha--a .rental-ficha__principal > .rental-ficha__seccion:first-child {
	margin-top: 0;
}

@media (min-width: 768px) {
	.rental-ficha--a .rental-ficha__encabezado {
		/* `auto` y no un ancho fijo: el precio más largo del inventario es "$1,350 al mes" y el más
		   corto "$600 al mes". Reservarle una columna fija le robaría al título el espacio que la
		   ficha de 91 caracteres necesita. */
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		column-gap: clamp(24px, 4vw, 56px);
	}

	.rental-ficha--a .rental-ficha__badge,
	.rental-ficha--a .rental-ficha__datos {
		grid-column: 1 / -1;
	}


	.rental-ficha--a .rental-ficha__identidad {
		min-width: 0; /* Que un título largo pueda cortarse en vez de empujar al precio. */
	}

	/*
	 * LA BARRITA DESHACÍA LA ALINEACIÓN QUE EL ENCABEZADO VINO A CONSEGUIR. Ocupa 3 px más .6rem
	 * de separación, o sea 12,6, y eso empujaba el número hacia abajo: medido en vivo, el título
	 * arrancaba en y=782 y el precio en y=794. Se sacó la etiqueta a su propio renglón justamente
	 * para que los dos empezaran a la misma altura, y después la barrita lo desarmaba.
	 *
	 * El margen negativo se escribe con los MISMOS números que la barrita, no con un 12,6 suelto:
	 * si mañana la barrita cambia de grosor, la compensación cambia con ella.
	 */
	.rental-ficha--a .rental-ficha__precio-caja {
		margin-top: calc(-3px - .6rem);
		text-align: right;
	}

	.rental-ficha--a .rental-ficha__precio-caja::before {
		margin-left: auto;
	}
}

@media (min-width: 1000px) {
	.rental-ficha--a .rental-ficha__cuerpo {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	/* Sin formulario no hay segunda columna: la lectura se queda con todo el ancho. */
	.rental-ficha--a .rental-ficha__cuerpo--solo {
		grid-template-columns: minmax(0, 1fr);
	}

	.rental-ficha--a .rental-ficha__lateral {
		position: sticky;
		top: 24px;
	}
}

/* ================================================================ 5. DISEÑO B ================
 *
 * NO ES EL A CON OTROS MÁRGENES. Cambia qué se ve primero y cómo se lee:
 *
 *   · la galería ES la portada — arranca la página, a lo ancho y alto;
 *   · una barra de datos pegada arriba que acompaña al bajar;
 *   · UNA sola columna de lectura, de ~70 caracteres por renglón;
 *   · amenidades en cuadrícula de varias columnas;
 *   · el formulario al final, en una tarjeta ancha, con el mapa al lado.
 *
 * Hereda la misma tipografía y el mismo acento que el A: es el mismo sitio, otra propuesta.
 */

.rental-ficha--b {
	/*
	 * ~70 CARACTERES POR RENGLÓN. La unidad `ch` mide el ancho del "0" de la tipografía que el
	 * tema esté usando, así que la medida se mantiene aunque mañana cambien la fuente — que es
	 * justo lo que un `max-width` en píxeles no sabe hacer.
	 */
	--rental-lectura: 70ch;
}

/* ---- la galería como portada ---- */

.rental-ficha--b .rental-b__portada {
	width: 100%;
	background: #0d1b1a;
}

/* ---- que la portada llegue de verdad a los dos bordes ---- */

/*
 * LA PORTADA NO LLEGABA AL BORDE Y EL COMENTARIO DE ABAJO LO DABA POR HECHO.
 *
 * En modo bloques nuestro `<main class="rental-ficha-contenido">` es hijo directo de
 * `.wp-site-blocks` (class-marco.php), y el tema le pone a ese envoltorio
 * `padding-left/right: var(--wp--custom--spacing--outer)` = `max(1.5rem, 3vw)`. La cabecera del
 * sitio se escapa porque su grupo lleva `alignfull` + `has-background`; nuestro `<main>` no lleva
 * ninguna de las dos, y no se le ponen porque `alignfull` arrastraría también al texto de la ficha.
 *
 * Medido en vivo en una ficha del diseño A: la barra turquesa del tema iba de 0 a 412 px y nuestra
 * banda de arriba de 24 a 388. Un escalón visible, y que CRECE con la pantalla porque el relleno es
 * `3vw`: 24 px por lado en un teléfono, cerca de 58 px a 1920.
 *
 * NO ALCANZA CON EL MARGEN NEGATIVO. Probado en vivo: mueve la caja pero no la ensancha, porque el
 * ancho lo fijamos nosotros mismos —`width: 100%` acá arriba y en el carrusel—, así que ese 100%
 * se seguía midiendo contra el contenido ya sangrado.
 * Quedaba de 0 a 364 en vez de 0 a 412: el escalón cambiaba de lado en vez de desaparecer. Por eso
 * va también el `width: auto`. Con las dos declaraciones: 0 a 412 y sin scroll horizontal.
 *
 * VA COLGADO DE `.wp-site-blocks` A PROPÓSITO: ese div lo imprime `Marco::abrir()` sólo en modo
 * bloques. En `elementor` y en `compat` no hay relleno que cancelar, y un margen negativo suelto
 * sacaría la banda fuera de la pantalla. El `, 0px` de respaldo cubre el día que el tema deje de
 * definir la variable.
 *
 * Y va DESPUÉS de las dos reglas de portada a propósito: tiene la misma especificidad que ellas,
 * así que lo que decide es el orden del archivo.
 */
/* Sólo el B saca la portada a los bordes: allá la foto ES la pantalla. El A la deja dentro de la
   columna, por lo que se explica arriba en `.rental-ficha--a .rental-ficha__vitrina`. */
.wp-site-blocks .rental-ficha--b .rental-b__portada {
	margin-inline: calc(var(--wp--custom--spacing--outer, 0px) * -1);
	width: auto;
}

/* A lo ancho: sin esquinas redondeadas ni márgenes, la foto llega a los dos bordes. */
.rental-carrusel--portada .rental-carrusel__marco {
	border-radius: 0;
}

/* Y a lo alto: es lo primero que se ve, así que ocupa casi la pantalla. El `clamp` deja un piso
   de 320 px para que en un teléfono apaisado no quede una franja. */
.rental-ficha--b .rental-carrusel--portada .rental-carrusel__lamina img {
	height: clamp(320px, 74vh, 760px);
}

/* La tira de miniaturas sí se alinea con el resto de la página, no con el borde de la pantalla. */
.rental-carrusel--portada .rental-carrusel__tiras {
	max-width: var(--rental-ancho);
	margin: 0 auto;
	padding: 10px clamp(16px, 4vw, 32px);
}

/* ---- la barra que acompaña al bajar ---- */

.rental-ficha--b .rental-b__barra {
	position: sticky;
	top: 0;
	/* Por encima de la ficha y por debajo de cualquier menú desplegable del sitio. */
	z-index: 20;
	border-bottom: 1px solid var(--rental-linea);
	/* Fondo y tinta explícitos: la barra flota sobre las fotos y sobre el texto, así que no puede
	   heredar un fondo transparente. */
	background: #fff;
	color: #1d2327;
}

.rental-ficha--b .rental-b__barra-ancho {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1.5rem;
	max-width: var(--rental-ancho);
	margin: 0 auto;
	padding: .65rem clamp(16px, 4vw, 32px);
}

.rental-ficha--b .rental-b__barra-precio {
	/* Empuja los datos y el botón a la derecha sin necesidad de un `justify-content` que se
	   rompería cuando la fila envuelve. */
	margin-right: auto;
}

.rental-ficha--b .rental-b__precio {
	margin: 0;
	color: var(--rental-acento-texto);
	font-size: clamp(1.25rem, 3vw, 1.7rem);
	font-weight: 700;
	line-height: 1.15;
}

.rental-ficha--b .rental-b__precio--consultar {
	font-size: clamp(1rem, 2.2vw, 1.2rem);
	font-weight: 600;
}

.rental-ficha--b .rental-b__barra-nota {
	margin: .1rem 0 0;
	color: var(--rental-tinta-suave);
	font-size: .75rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.rental-ficha--b .rental-ficha__datos--barra {
	margin: 0;
	gap: .4rem 1.1rem;
	font-size: .9rem;
}

.rental-ficha--b .rental-b__cta {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	/* 44 px de alto MÍNIMO. Con el relleno solo daba 33 en el teléfono, por debajo del objetivo
	   táctil que recomienda WCAG: el único botón de toda la página no puede ser el más difícil
	   de acertar. El `min-height` no lo estira si la letra crece, sólo pone el piso. */
	min-height: 44px;
	padding: .5em 1.4em;
	border-radius: 999px;
	background: var(--rental-acento);
	color: var(--rental-sobre-acento);
	font-size: .95rem;
	line-height: 1.2;
	text-decoration: none;
}

.rental-ficha--b .rental-b__cta:hover,
.rental-ficha--b .rental-b__cta:focus-visible {
	/* Sin cambiar de color: el acento es uno solo. Se oscurece con una capa. */
	background-image: linear-gradient(rgba(0, 0, 0, .14), rgba(0, 0, 0, .14));
	color: #fff;
}

.rental-ficha--b .rental-b__cta:focus-visible {
	outline: 3px solid var(--rental-acento);
	outline-offset: 2px;
}

/*
 * LA FILA DE DATOS DEL DISEÑO B ESTÁ ESCRITA DOS VECES, Y ACÁ SE ELIGE CUÁL SE VE.
 *
 * ÉSTE ERA EL DEFECTO: por debajo de 720 px la barra suelta la fila para no ocupar tres renglones
 * pegados arriba, y hasta la 1.15 no había ninguna otra copia. O sea que en el teléfono
 * "3 dormitorios · 2.5 baños · 285.85 m² · 3 parqueos" no salía EN NINGUNA PARTE de la página. El
 * comentario que había acá decía que la fila "igual está completa unos centímetros más abajo, en
 * el cuerpo de la ficha": era mentira, y una mentira cómoda, porque describe justo lo que uno
 * esperaría que pasara.
 *
 * Ahora `Ficha::encabezado()` pinta la fila también en el cuerpo (`--cuerpo`) y estas dos reglas
 * son excluyentes: por debajo de 720 se ve la del cuerpo, por encima la de la barra. NUNCA las
 * dos. Y `display:none` saca la que sobra también del árbol de accesibilidad, así que un lector
 * de pantalla lee la fila una sola vez.
 *
 * OJO CON EL PAR, porque ya falló una vez: el complemento de `min-width: 720px` NO es
 * `max-width: 719px`. Entre los dos queda una franja —719.5 px, por ejemplo— donde no aplica
 * ninguna de las dos reglas y la fila sale DUPLICADA, en la barra y en el cuerpo, con la barra
 * partida en tres renglones que es justo lo que se venía a evitar. Y un ancho con decimales no
 * es rebuscado: sale con el zoom del navegador, con el escalado de pantalla de Windows y con
 * cualquier ventana de ancho impar en una pantalla Retina (ancho CSS = píxeles del aparato / 2).
 * Por eso el segundo bloque se escribe como la NEGACIÓN del primero, que es complementaria por
 * definición y no deja franja posible. Un `max-width: 719.98px` también tapa el caso, pero hay
 * que acordarse de por qué está el decimal; esto se explica solo.
 *
 * (Se prueba en un segundo: abrir el diseño B y estirar la ventana pasando por 720 px. La fila
 * tiene que saltar de abajo del título a la barra, sin aparecer dos veces ni desaparecer.)
 */
@media (min-width: 720px) {
	.rental-ficha--b .rental-ficha__datos--cuerpo {
		display: none;
	}
}

@media not all and (min-width: 720px) {
	.rental-ficha--b .rental-ficha__datos--barra {
		display: none;
	}

	/* Un solo renglón (~52 px): precio a la izquierda y botón a la derecha. */
	.rental-ficha--b .rental-b__barra-ancho {
		flex-wrap: nowrap;
		gap: .75rem;
	}

	.rental-ficha--b .rental-b__cta {
		padding: .5em 1.1em;
		font-size: .9rem;
	}
}

/* ---- una sola columna de lectura ---- */

.rental-ficha--b .rental-b__lectura {
	max-width: var(--rental-lectura);
	margin: 0 auto;
	padding-bottom: clamp(32px, 6vw, 64px);
}

.rental-ficha--b .rental-ficha__encabezado {
	padding: clamp(24px, 5vw, 44px) 0 0;
}

.rental-ficha--b .rental-ficha__titulo {
	font-size: clamp(1.6rem, 3.6vw, 2.4rem);
}

.rental-ficha--b .rental-ficha__seccion {
	margin: clamp(30px, 5vw, 48px) 0;
}

/* La descripción respira más que en el A: es la única columna, y es lo que se está leyendo. */
.rental-ficha--b .rental-ficha__descripcion {
	font-size: 1.02rem;
	line-height: 1.75;
}

/* ---- amenidades en cuadrícula ---- */

/*
 * En el A son una lista en dos o tres columnas anchas. Acá, dentro de una columna de 70
 * caracteres, entran tres columnas de ~185 px y se leen como una cuadrícula de verdad: de un
 * vistazo se ve CUÁNTAS hay, que es la información que da una lista de amenidades.
 */
.rental-ficha--b .rental-ficha__amenidades {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: .5rem 1rem;
}

/* ---- el cierre: mapa + formulario ---- */

.rental-ficha--b .rental-b__cierre {
	padding: clamp(32px, 5vw, 60px) 0;
	border-top: 1px solid var(--rental-linea);
	background: var(--rental-fondo);
	/* El botón de la barra baja hasta acá con un salto de ancla; sin esto, la propia barra
	   pegajosa taparía el título del bloque al que acaba de llevar. */
	scroll-margin-top: 5.5rem;
}

.rental-ficha--b .rental-b__cierre-rejilla {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}

.rental-ficha--b .rental-b__cierre .rental-ficha__seccion {
	margin: 0;
}

@media (min-width: 900px) {
	/* El mapa al lado, no encima: la tarjeta del formulario queda ancha, que es lo que la
	   distingue de la columna angosta y pegajosa del diseño A. */
	.rental-ficha--b .rental-b__cierre-rejilla {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	}
}

/* ---------------------------------------------------------------- 6. la barra de marca */

/*
 * ÚLTIMO RECURSO Y NADA MÁS. La ficha usa el marco REAL del sitio (ver includes/class-marco.php);
 * esto sólo se pinta si no aparece ninguno —ni partes de plantilla de bloques, ni ubicaciones de
 * Elementor, ni `header.php` del tema—. Los valores salen de la plantilla #5809 exportada:
 * fondo #4CB9B4, logo blanco a 235 px, enlaces blancos separados 35 px.
 *
 * (Acá vivían tres reglas que escondían el `#header`, el `#headerimg` y el primer `<hr>` de la
 * cabecera de fábrica de WordPress. Ya no hacen falta y era peligroso dejarlas: `#header` y
 * `#footer` son ids genéricos, y el día que el tema tuviera una cabecera propia con ese id, esas
 * reglas la habrían escondido. La ficha ya no imprime nunca el respaldo de fábrica.)
 */
.rental-barra {
	background: #4cb9b4;
}

.rental-barra__ancho {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 20px;
}

.rental-barra__logo img {
	display: block;
	width: 235px;
	max-width: 60vw;
	height: auto;
}

.rental-barra__nombre {
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: .01em;
}

.rental-barra__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
}

.rental-barra__menu a {
	color: #fff;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
}

.rental-barra__menu a:hover,
.rental-barra__menu a:focus-visible {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.rental-barra__ancho {
		justify-content: center;
		text-align: center;
	}

	.rental-barra__menu {
		gap: 18px;
		justify-content: center;
	}
}


/* ---------------------------------------------------------------- el botón de WhatsApp

   Aparece cuando hay número configurado (CRM Rental → Ajustes → WhatsApp). Es el único botón de
   contacto cuando no hay formulario, así que tiene que verse como un botón y no como un enlace
   más: peso visual, 44 px de alto mínimo —el objetivo táctil que recomienda WCAG— y el verde de
   WhatsApp, que la gente reconoce sin leer.

   El verde va escrito y no sale del acento de la marca a propósito: es el color de un servicio
   ajeno, y cambiarlo por el dorado haría que el botón deje de parecer lo que es. */
.rental-ficha__whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 44px;
	margin-top: .85rem;
	padding: .6em 1.2em;
	border-radius: 999px;
	background: #25d366;
	color: #08301b;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .15s ease;
}

.rental-ficha__whatsapp:hover,
.rental-ficha__whatsapp:focus-visible {
	background: #1eb455;
	color: #08301b;
	text-decoration: none;
}

.rental-ficha__whatsapp:focus-visible {
	outline: 3px solid var(--rental-acento-texto);
	outline-offset: 2px;
}

.rental-ficha__whatsapp-icono {
	flex: 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
	.rental-ficha__whatsapp { transition: none; }
}

:root{--joinchat-ico:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M3.516%203.516c4.686-4.686%2012.284-4.686%2016.97%200s4.686%2012.283%200%2016.97a12%2012%200%200%201-13.754%202.299l-5.814.735a.392.392%200%200%201-.438-.44l.748-5.788A12%2012%200%200%201%203.517%203.517zm3.61%2017.043.3.158a9.85%209.85%200%200%200%2011.534-1.758c3.843-3.843%203.843-10.074%200-13.918s-10.075-3.843-13.918%200a9.85%209.85%200%200%200-1.747%2011.554l.16.303-.51%203.942a.196.196%200%200%200%20.219.22zm6.534-7.003-.933%201.164a9.84%209.84%200%200%201-3.497-3.495l1.166-.933a.79.79%200%200%200%20.23-.94L9.561%206.96a.79.79%200%200%200-.924-.445l-2.023.524a.797.797%200%200%200-.588.88%2011.754%2011.754%200%200%200%2010.005%2010.005.797.797%200%200%200%20.88-.587l.525-2.023a.79.79%200%200%200-.445-.923L14.6%2013.327a.79.79%200%200%200-.94.23z%22%2F%3E%3C%2Fsvg%3E");--joinchat-font:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}.joinchat{--sep:20px;--bottom:var(--sep);--s:60px;--h:calc(var(--s) / 2);--header:max(50px,var(--s) * 1.16667);--vh:100vh;--ch:142;--cs:70%;--cl:49%;--bw:1;--text:hsl(0deg 0% clamp(0%,var(--bw) * 1000%,100%)/clamp(70%,var(--bw) * 1000%,100%));--hover:hsl(var(--ch) var(--cs) calc(20% + var(--cl)));--hsl:var(--ch) var(--cs) var(--cl);--color:hsl(var(--hsl));--dark:hsl(var(--ch) var(--cs) calc(-10% + var(--cl)));--bg:hsl(var(--hsl)/4%);--msg:var(--color);color:var(--text);display:none;position:fixed;z-index:9000;right:var(--sep);bottom:var(--bottom);font:16px/1.625em var(--joinchat-font);letter-spacing:0;animation:joinchat_show .5s cubic-bezier(.18,.89,.32,1.28) 10ms both;transform:scale3d(0,0,0);transform-origin:calc(var(--s) / -2) calc(var(--s) / -4);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgb(0 0 0/0);contain:style}.joinchat *,.joinchat :after,.joinchat :before{box-sizing:border-box}.joinchat--show{display:block;transform:scaleX(1)}.joinchat--left{right:auto;left:var(--sep)}.joinchat--dark{--msg:var(--dark)}.joinchat--noanim{animation:none}.joinchat--chatbox:not(.joinchat--noanim){transform-origin:0 0;animation-timing-function:ease-in-out}.joinchat--hidden{display:none!important}@supports not (width:clamp(1px,1%,10px)){.joinchat{--text:hsl(0deg 0% calc(var(--bw) * 1%)/90%)}}.joinchat__button{position:absolute;z-index:2;bottom:8px;right:8px;height:var(--s);width:var(--s);background:#25d366 var(--joinchat-ico) 50%/60% no-repeat;color:inherit;border-radius:50%;box-shadow:1px 6px 24px 0 rgba(7,94,84,.24);cursor:pointer;transition:background-color .2s linear}.joinchat__button:hover{background-color:#128c7e}.joinchat:has(.joinchat__chatbox) .joinchat__button:hover{transition-duration:1.5s}.joinchat__button:active{background-color:#128c7e;transition:none}.joinchat--left .joinchat__button{right:auto;left:8px}.joinchat--chatbox .joinchat__button{display:none}.joinchat__button__ico{position:absolute;inset:0;display:flex;border-radius:50%;overflow:hidden;color:var(--text)!important}.joinchat__button__ico svg{width:var(--ico-size,100%);height:var(--ico-size,100%);margin:calc(.5 * (100% - var(--ico-size, 1)))}.joinchat__button:has(.joinchat__button__ico){background:var(--color);box-shadow:1px 6px 24px 0 hsl(var(--ch) var(--cs) calc(-10% + var(--cl))/24%)}.joinchat__button:has(.joinchat__button__ico):active,.joinchat__button:has(.joinchat__button__ico):hover{background:var(--hover)}.joinchat__button__image{position:absolute;inset:1px;border-radius:50%;overflow:hidden;opacity:0}.joinchat__button__image img,.joinchat__button__image video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.joinchat--show .joinchat__button__image{animation:joinchat_image_loop 20s linear 5s infinite normal both}.joinchat--img .joinchat__button__image{opacity:1;animation:none}.joinchat__badge{position:absolute;z-index:2;bottom:calc(-8px + var(--s));right:4px;width:20px;height:20px;border:none;border-radius:50%;background:#e82c0c;color:#fff;font-size:12px;font-weight:600;line-height:20px;text-align:center;box-shadow:none;opacity:0;pointer-events:none}.joinchat--left .joinchat__badge{right:auto;left:calc(-8px + var(--s))}.joinchat__badge.joinchat__badge--in{animation:joinchat_badge_in .5s cubic-bezier(.27,.9,.41,1.28) 1 both}.joinchat__badge.joinchat__badge--out{animation:joinchat_badge_out .4s cubic-bezier(.215,.61,.355,1) 1 both}.joinchat__tooltip{position:absolute;top:calc(-16px + var(--h));right:calc(16px + var(--s));max-width:calc(100vw - 45px - var(--s));height:32px;padding:0 14px;border:none;border-radius:16px;background:#fff;color:rgba(0,0,0,.8);line-height:31px;white-space:nowrap;opacity:0;transition:opacity .3s ease-out .4s;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4));pointer-events:none}.joinchat__tooltip:after{content:"";display:block;position:absolute;top:10px;right:-6px;border:8px solid transparent;border-width:6px 0 6px 8px;border-left-color:#fff}.joinchat__tooltip div{width:-moz-max-content;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}.joinchat--tooltip .joinchat__tooltip{animation:joinchat_tootlip 20s linear 5s 1 normal both}.joinchat--chatbox .joinchat__tooltip{display:none}.joinchat--left .joinchat__tooltip{right:auto;left:calc(16px + var(--s))}.joinchat--left .joinchat__tooltip:after{left:-6px;right:auto;border-color:transparent;border-width:6px 8px 6px 0;border-right-color:#fff}.joinchat__qr{position:absolute;z-index:2;bottom:calc(24px + var(--s));right:8px;display:none;flex-direction:column-reverse;width:228px;min-height:200px;padding:14px 14px 10px;border:none;border-radius:16px;background:#fff;color:rgba(0,0,0,.8);text-align:center;white-space:nowrap;filter:drop-shadow(0 1px 4px rgba(0,0,0,.4));animation:joinchat_badge_in .4s cubic-bezier(.11,.84,.83,1.01) .5s both;pointer-events:none}.joinchat__qr:after{content:"";display:block;position:absolute;bottom:-6px;right:calc(-6px + var(--h));border:8px solid transparent;border-width:8px 6px 0;border-top-color:#fff}.joinchat--left .joinchat__qr{left:8px;right:auto}.joinchat--left .joinchat__qr:after{left:calc(-6px + var(--h));right:auto}.joinchat__qr div{font-size:14px;color:#4a4a4a;overflow:hidden;text-overflow:ellipsis}.joinchat__qr canvas{display:block;width:200px;height:200px;margin:0;image-rendering:pixelated}.joinchat__chatbox{content-visibility:hidden;contain-intrinsic-size:auto 400px auto 240px;display:flex;flex-direction:column;position:absolute;bottom:0;right:0;z-index:1;width:calc(100vw - var(--sep) * 2);max-width:400px;max-height:calc(var(--vh) - var(--bottom) - var(--sep));border-radius:calc(2px + var(--h));background:#fff linear-gradient(180deg,var(--color),var(--color) var(--header),var(--bg) var(--header),var(--bg));box-shadow:0 2px 6px 0 rgba(0,0,0,.5);text-align:left;overflow:hidden;transform:scale3d(0,0,0);opacity:0;transition:opacity 80ms,transform 0s linear 81ms}[dir=rtl] .joinchat__chatbox{text-align:right}.joinchat--chatbox .joinchat__chatbox{content-visibility:visible;opacity:1;transform:scaleX(1);transition:opacity .2s ease-out,transform 0s linear}.joinchat--left .joinchat__chatbox{right:auto;left:0}.joinchat--dark .joinchat__chatbox{background:#1a1a1a linear-gradient(180deg,var(--dark),var(--dark) var(--header),var(--bg) var(--header),var(--bg))}.joinchat__header{display:flex;flex-flow:row;align-items:center;position:relative;flex-shrink:0;height:var(--header);padding:0 70px 0 26px;margin:0}[dir=rtl] .joinchat__header{padding:0 26px 0 70px}.joinchat__header span{font-size:19px;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.joinchat__header a{font-size:11px;line-height:18px;color:inherit!important;text-decoration:none!important;fill:currentcolor;opacity:.8}.joinchat__header a svg{display:inline-block;width:auto;height:18px;vertical-align:-30%}.joinchat__header a:active,.joinchat__header a:hover{color:inherit!important;text-decoration:none!important;opacity:.9;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.joinchat__wa{display:block;fill:currentcolor;opacity:.8}.joinchat__close{--size:34px;position:absolute;top:calc(50% - var(--size) / 2);right:24px;width:var(--size);height:var(--size);border-radius:50%;background:rgba(0,0,0,.4) url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M24%202.4%2021.6%200%2012%209.6%202.4%200%200%202.4%209.6%2012%200%2021.6%202.4%2024l9.6-9.6%209.6%209.6%202.4-2.4-9.6-9.6z%22%2F%3E%3C%2Fsvg%3E") 50%/12px no-repeat;cursor:pointer;transition:background-color .3s ease-out}.joinchat__close:hover{background-color:rgba(0,0,0,.6)}.joinchat__close:active{background-color:rgba(0,0,0,.7)}[dir=rtl] .joinchat__close{right:auto;left:24px}.joinchat__scroll{display:flex;flex-direction:column-reverse;overflow:hidden scroll;scroll-behavior:smooth;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.joinchat__scroll::-webkit-scrollbar{width:4px;background:rgb(0 0 0/0)}.joinchat__scroll::-webkit-scrollbar-thumb{border-radius:2px;background:rgb(0 0 0/0)}.joinchat--blur .joinchat__scroll{background:hsl(var(--hsl)/2%);backdrop-filter:blur(10px)}.joinchat__scroll:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2)}.joinchat__content{display:flex;flex-direction:column;width:calc(100% + 4px);padding:20px 0 8px}.joinchat__content:after{content:"";display:block;position:absolute;bottom:0;left:0;right:4px;height:calc(20px + var(--s));background:#fff linear-gradient(180deg,var(--bg),var(--bg));-webkit-mask-image:linear-gradient(rgb(0 0 0/0),rgb(0 0 0/60%) 25%,rgb(0 0 0/92%) 70%,rgb(0 0 0/100%) 95%,rgb(0 0 0/100%));mask-image:linear-gradient(rgb(0 0 0/0),rgb(0 0 0/60%) 25%,rgb(0 0 0/92%) 70%,rgb(0 0 0/100%) 95%,rgb(0 0 0/100%));pointer-events:none}.joinchat--dark .joinchat__content:after{background-color:#1a1a1a}.joinchat__open{position:sticky;z-index:2;bottom:8px;align-self:flex-end;display:flex;flex-direction:row;min-width:var(--s);height:var(--s);margin:0 8px;background:var(--color);color:inherit;border-radius:var(--h);box-shadow:0 1px 2px 0 rgba(0,0,0,.3);overflow:hidden;cursor:pointer;transition:background-color .2s linear}[dir=rtl] .joinchat__open{align-self:flex-start}.joinchat__open:active,.joinchat__open:hover{background:var(--hover)}.joinchat--left .joinchat__open{align-self:flex-start}[dir=rtl] .joinchat--left .joinchat__open{align-self:flex-end}.joinchat--optout .joinchat__open{background-color:#999;pointer-events:none}.joinchat__open__icon{flex-shrink:0;width:var(--s);height:var(--s);max-width:var(--s);padding:calc(var(--s) * .18);margin:0;overflow:hidden}[dir=rtl] .joinchat__open__icon{transform:rotateY(180deg)}.joinchat__open__icon path{fill:none!important;stroke:var(--text)!important;stroke-linecap:round;stroke-width:33px;animation:none}.joinchat__open__icon .joinchat__pa{--stroke:1097}.joinchat__open__icon .joinchat__pb{--stroke:1020}.joinchat--chatbox .joinchat__open__icon path{stroke-dasharray:var(--stroke);stroke-dashoffset:var(--stroke);animation:joinchat_send_svg 6s .2s ease-in-out infinite}.joinchat--chatbox .joinchat__open__icon .joinchat__pb{animation-delay:3.2s}.joinchat--optout .joinchat__open__icon path{animation:none}.joinchat--optout .joinchat__open__icon .joinchat__pa{stroke-dasharray:0}.joinchat__open__text{--mw:0;max-width:var(--mw);width:-moz-fit-content;width:fit-content;padding:0;font-weight:600;line-height:var(--s);white-space:nowrap;opacity:0;overflow:hidden;text-overflow:ellipsis}.joinchat--chatbox .joinchat__open__text{--mw:min(384px - var(--s),100vw - 16px - var(--s) - 2 * var(--sep));padding:0 4px 0 24px;opacity:1}[dir=rtl] .joinchat__open__text{padding:0 24px 0 4px}.joinchat--chatbox.joinchat--opening .joinchat__open__text{animation:joinchat_open_text .45s ease-out both}@keyframes joinchat_open_text{0%{max-width:0;opacity:0}60%{max-width:var(--mw);opacity:0}to{max-width:var(--mw);opacity:1}}.joinchat__optin{padding:0 16px;margin-bottom:16px;color:#4a4a4a;font-size:13px;line-height:1.33}.joinchat__optin a{display:inline;padding:0;color:inherit!important;text-decoration:underline}.joinchat__optin a:hover{text-decoration-thickness:2px}.joinchat__optin input{position:absolute;visibility:hidden}.joinchat__optin label{position:relative;display:block;margin:0;padding:0 0 0 30px;color:inherit;font:inherit;cursor:pointer}.joinchat__optin label:before{content:"";display:block;position:absolute;top:min(50% - 11px,5px);left:0;width:22px;height:22px;border:3px solid var(--color);border-radius:4px;background:#fff;box-shadow:0 0 0 1px var(--text);transition:box-shadow .3s ease-in-out}.joinchat--dark .joinchat__optin label:before{background:#000}.joinchat__optin label:after{content:"";display:none;position:absolute;top:min(50% - 8px,8px);left:8px;width:6px;height:14px;border:solid var(--text);border-width:0 3px 3px 0;transform:rotate(45deg)}[dir=rtl] .joinchat__optin label{padding:0 30px 0 0}[dir=rtl] .joinchat__optin label:before{left:auto;right:0}[dir=rtl] .joinchat__optin label:after{left:auto;right:8px}.joinchat__optin input:checked+label:before{box-shadow:0 0 0 1px var(--text),inset 0 0 0 10px var(--color)}.joinchat__optin input:checked+label:after{display:block}.joinchat--dark .joinchat__optin{color:#d8d8d8}.joinchat__chat{--peak_l:path("M17 25V0C17 12.877 6.082 14.9 1.031 15.91c-1.559.31-1.179 2.272.004 2.272C9.609 18.182 17 18.088 17 25z");--peak_r:path("M0 25.68V0c0 13.23 10.92 15.3 15.97 16.34 1.56.32 1.18 2.34 0 2.34-8.58 0-15.97-.1-15.97 7Z");--peak:var(--peak_l);display:flex;flex-direction:column;align-items:flex-start;min-height:100px;padding-bottom:10px;transition:height .2s ease-out}[dir=rtl] .joinchat__chat{--peak:var(--peak_r)}.joinchat__bubble{flex-shrink:0;position:relative;min-width:60px;max-width:calc(100% - 52px);min-height:56px;padding:15px 20px;margin:0 26px 16px;border-radius:26px;background:#fff;color:#4a4a4a;word-break:break-word;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));transform-origin:0 50%;animation:joinchat_show .22s cubic-bezier(0,0,.58,1.19) 10ms both}[dir=rtl] .joinchat__bubble{transform-origin:100% 50%}.joinchat__bubble:before{content:"";display:block;position:absolute;bottom:18px;left:-15px;width:17px;height:25px;background:inherit;clip-path:var(--peak)}[dir=rtl] .joinchat__bubble:before{left:auto;right:-15px}.joinchat--dark .joinchat__bubble{background:#505050;color:#d8d8d8}.joinchat__bubble.joinchat__bubble--loading{width:70px;border:none;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Ccircle%20cx%3D%224%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20id%3D%22c%22%20attributeName%3D%22cy%22%20begin%3D%220%3Ba.end%2B0.1s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20attributeName%3D%22cy%22%20begin%3D%22c.begin%2B0.1s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2212%22%20r%3D%223%22%3E%3Canimate%20id%3D%22a%22%20attributeName%3D%22cy%22%20begin%3D%22c.begin%2B0.2s%22%20calcMode%3D%22spline%22%20dur%3D%220.4s%22%20keySplines%3D%22.33%2C.66%2C.66%2C1%3B.33%2C0%2C.66%2C.33%22%20values%3D%2212%3B6%3B12%22%2F%3E%3C%2Fcircle%3E%3C%2Fsvg%3E") 20px 20px no-repeat!important;transform-origin:50%!important;animation:joinchat_show .1s ease-out 10ms both}.joinchat--dark .joinchat__bubble.joinchat__bubble--loading{filter:invert(.5)}.joinchat__bubble.joinchat__bubble--note{min-height:0;padding:0;background:none!important;font-size:13px;line-height:1.33;filter:none;animation:none}.joinchat__bubble.joinchat__bubble--media{padding:5px}.joinchat__bubble.joinchat__bubble--loading:before,.joinchat__bubble.joinchat__bubble--note:before{content:none}.joinchat__bubble a{color:var(--msg)!important;font-size:1em;text-decoration:underline}.joinchat__bubble a:active,.joinchat__bubble a:hover{color:var(--hover)!important;border-color:var(--hover)}.joinchat__bubble a.joinchat__btn{display:inline-block;min-height:46px;max-width:100%;padding:10px 20px;margin:5px 0;border:3px solid var(--msg);border-radius:23px;line-height:20px;text-align:center;text-decoration:none!important;overflow:hidden;text-overflow:ellipsis}.joinchat__bubble a.joinchat__btn+.joinchat__bubble a.joinchat__btn{margin-top:-5px}.joinchat__bubble img,.joinchat__bubble video{max-width:100%;height:auto;margin:.2em 0;border-radius:4px;box-shadow:0 1px 5px rgb(0 0 0/10%)}.joinchat__bubble .joinchat--inline{display:inline-block;margin:-10px 0;border-radius:0;box-shadow:none;vertical-align:middle}.joinchat__bubble--media .joinchat--inline,.joinchat__bubble--media img,.joinchat__bubble--media video{display:block;margin:0;border-radius:21px;box-shadow:none}.joinchat__bubble code{padding:2px 5px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.joinchat__bubble hr{width:100%!important;height:0!important;padding:0!important;border:none!important;border-top:2px solid var(--msg)!important;margin:10px 0!important}.joinchat__bubble hr+br{display:none}.joinchat__header{anchor-name:--joinchat-header}.joinchat__powered{display:unset;position:absolute;position-anchor:--joinchat-header;position-area:bottom left;left:-75px;top:75px;width:130px;height:20px;padding:0;margin:0;background:#fff!important;color:#0009!important;border:none!important;border-radius:4px 4px 0 0!important;font:11px/20px var(--joinchat-font)!important;text-align:center!important;text-decoration:none!important;transition:opacity .2s ease-out;box-shadow:0 2px 6px 0 #0003!important;transform:rotate(-90deg);opacity:0}@supports not (position-anchor:--x){.joinchat__powered{display:none}}.joinchat--chatbox .joinchat__powered{opacity:1;transition:opacity .2s ease-out,color .5s ease-out}.joinchat__powered span{font-weight:600}.joinchat__powered:active,.joinchat__powered:hover{color:#000!important;text-decoration:none!important;transition:color .2s ease-out}.joinchat--left .joinchat__powered{position-area:bottom right;left:auto;right:-75px;transform:rotate(90deg)}.joinchat--dark .joinchat__powered{background:#ddd!important}@keyframes joinchat_show{0%{transform:scale3d(0,0,0)}to{transform:scaleX(1)}}@keyframes joinchat_badge_in{0%{opacity:0;transform:translate3d(0,50px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes joinchat_badge_out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes joinchat_send_svg{0%,50%,to{stroke-dashoffset:var(--stroke)}5%,45%{stroke-dashoffset:0}}@keyframes joinchat_image_loop{0%{opacity:0}3%,20%{opacity:1}25%,to{opacity:0}}@keyframes joinchat_tootlip{0%{opacity:0;transform:scaleY(0)}1%,20%{opacity:1;transform:scaleX(1)}25%,to{opacity:0;transform:scaleX(1)}}.joinchat__woo-btn__wrapper{clear:both}.joinchat__woo-btn{--s:40px;display:inline-block;box-sizing:border-box;height:var(--s);max-width:100%;padding:0 calc(var(--s) / 2) 0 var(--s);background:#25d366 var(--joinchat-ico) calc(var(--s) * .2) 50% no-repeat;background-size:calc(var(--s) * .6);color:#fff;border-radius:calc(var(--s) / 2);font:700 calc(var(--s) * .35)/var(--s) var(--joinchat-font);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer;transition:background-color .2s}.joinchat__woo-btn:empty{padding-right:0}.joinchat__woo-btn:hover{background-color:#128c7e}@media (orientation:landscape) and (height >= 481px),(orientation:portrait) and (width >= 481px){.joinchat--mobile{display:none!important}}@media (width <= 767px){.joinchat--footer-bar{--bottom:76px!important}}@media (orientation:landscape) and (height <= 480px),(width <= 480px){.joinchat{--sep:6px;--header:max(50px,var(--s) * .91667)}.joinchat__header__text{font-size:17px}.joinchat__close{--size:28px}.joinchat__bubble{max-width:calc(100% - 40px);padding:16px;margin:0 20px 10px;line-height:24px}.joinchat:has(.joinchat__powered) .joinchat__content{padding-top:40px}.joinchat--left .joinchat__powered,.joinchat--right .joinchat__powered{position-area:bottom center;z-index:2;top:0;left:0;right:0;transform:none;border-radius:0 0 4px 4px}}@media (hover:hover){.joinchat__button:hover .joinchat__tooltip{opacity:1;animation:none;transition:opacity .2s}.joinchat--btn .joinchat__button:hover~.joinchat__qr,.joinchat--chatbox:has(.joinchat__open:hover) .joinchat__qr{display:flex}}@media (prefers-color-scheme:dark){.joinchat--dark-auto{--msg:var(--dark)}.joinchat--dark-auto .joinchat__chatbox{background:#1a1a1a linear-gradient(180deg,var(--dark),var(--dark) var(--header),var(--bg) var(--header),var(--bg))}.joinchat--dark-auto .joinchat__content:after{background-color:#1a1a1a}.joinchat--dark-auto .joinchat__optin label:before{background:#000}.joinchat--dark-auto .joinchat__optin{color:#d8d8d8}.joinchat--dark-auto .joinchat__bubble{background:#505050;color:#d8d8d8}.joinchat--dark-auto .joinchat__bubble.joinchat__bubble--loading{filter:invert(.5)}.joinchat--dark-auto .joinchat__powered{background:#ddd!important}}@media (prefers-reduced-motion){.joinchat,.joinchat__open__icon path{animation:none}.joinchat__open__icon .joinchat__pa{stroke-dasharray:0}.joinchat--chatbox.joinchat--opening .joinchat__open__text{animation:none}.joinchat__bubble{animation:none!important}}