{"id":32015,"date":"2025-10-09T10:54:23","date_gmt":"2025-10-09T08:54:23","guid":{"rendered":"https:\/\/roig.com\/oferty-mobility-and-experiences\/oferta-halloween\/"},"modified":"2026-10-19T13:23:23","modified_gmt":"2026-10-19T11:23:23","slug":"oferta-halloween","status":"publish","type":"page","link":"https:\/\/roig.com\/pl\/oferty-mobility-and-experiences\/oferta-halloween\/","title":{"rendered":"Wyspa nigdy nie zasypia\u2026 i my te\u017c nie"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"32015\" class=\"elementor elementor-32015 elementor-22753\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38cb529 e-con-full e-flex e-con e-parent\" data-id=\"38cb529\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-daf7d8e elementor-widget elementor-widget-heading\" data-id=\"daf7d8e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Nigdy nie wiesz,<span style=\"color:#FF6A13;display:block\">co ci\u0119 czeka<span style=\"letter-spacing: 3.4px\"><\/span><\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cf6a0e8 e-con-full e-flex e-con e-child\" data-id=\"cf6a0e8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-89e4d81 elementor-widget elementor-widget-html\" data-id=\"89e4d81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"marquee-hw\" style=\"overflow:hidden;position:relative;white-space:nowrap;background:#9B6BFF;border-top:1px solid rgba(243,240,234,0.15);border-bottom:1px solid rgba(243,240,234,0.15);padding:13px 0;\">\r\n  <div class=\"marquee-hw__inner\" style=\"display:flex;width:max-content;align-items:center;\">\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#F3F0EA;\">Wybierz \u201ecukierek albo psikus\u201d<\/span>\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#000000;\">Oferta wa\u017cna do 1 listopada<\/span>\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#F3F0EA;\">Wybierz \u201ecukierek albo psikus\u201d<\/span>\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#000000;\">Oferta wa\u017cna do 1 listopada<\/span>\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#F3F0EA;\">Wybierz \u201ecukierek albo psikus\u201d<\/span>\r\n    <span style=\"font-family:'Creepster',Impact,sans-serif;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:0.04em;text-transform:uppercase;padding-right:4.5rem;color:#9B6BFF;\">Oferta wa\u017cna do 1 listopada<\/span>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var inner = document.querySelector('.marquee-hw__inner');\r\n  if (!inner) return;\r\n  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\r\n  inner.animate(\r\n    [ { transform: 'translateX(0)' }, { transform: 'translateX(-50%)' } ],\r\n    { duration: 20000, iterations: Infinity, easing: 'linear' }\r\n  );\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-158ce87 e-grid e-con-full e-con e-child\" data-id=\"158ce87\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5a3d879 elementor-widget elementor-widget-icon-box\" data-id=\"5a3d879\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t01.\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t <strong>Dwie drogi. Jeden wyb\u00f3r.<\/strong><br \/><br \/>Ka\u017cdej nocy o godz. 00:00 pojawiaj\u0105 si\u0119 dwie nowe oferty.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed4e83b elementor-widget elementor-widget-icon-box\" data-id=\"ed4e83b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t02\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t <strong>CZYSTKA czy TRYK: mo\u017cesz wybra\u0107 tylko jedn\u0105 opcj\u0119.<\/strong><br \/><br \/>Gdy podejmiesz decyzj\u0119, druga oferta zniknie. <strong><br \/>Nie ma odwrotu \ud83d\udc7b<\/strong> \t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d47e91c elementor-widget elementor-widget-icon-box\" data-id=\"d47e91c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t03\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t <strong>Co ci si\u0119 trafi\u0142o?<\/strong><br \/><br \/>Odkryj ofert\u0119 ukryt\u0105 za twoim wyborem i <strong>odbierz kod rabatowy<\/strong> \t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f9327d elementor-widget elementor-widget-icon-box\" data-id=\"3f9327d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t04\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t<strong>Jutro\u2026 wszystko od nowa.<\/strong><br \/><br \/>Twoja oferta wygasa o godz. 23:59. Oferty \u201eCzystka\u201d i \u201eTryk\u201d odnawiaj\u0105 si\u0119. <strong>Zagrasz jeszcze raz?<\/strong>\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f80bd2 e-flex e-con-boxed e-con e-parent\" data-id=\"8f80bd2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17ff474 elementor-widget elementor-widget-html\" data-id=\"17ff474\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ==========================================================================\r\n     ROIG \u00b7 Halloween 2026 \u2014 Bloque del juego \"Truco o trato\"\r\n     MULTIIDIOMA: es \u00b7 en \u00b7 it \u00b7 de \u00b7 fr \u00b7 pl \u00b7 zh-Hant\r\n\r\n     Se pega EL MISMO bloque en las siete traducciones de la p\u00e1gina.\r\n     El idioma se detecta del atributo lang de <html>, que pone WPML.\r\n     Para forzarlo en pruebas: ?hw_idioma=de\r\n\r\n     QU\u00c9 SE EDITA:\r\n       1) CALENDARIO ... objeto CAL. Solo fechas, c\u00f3digos y porcentajes:\r\n                         no lleva textos, as\u00ed que vale para los siete idiomas.\r\n       2) TEXTOS ....... objeto I18N, un bloque por idioma.\r\n\r\n     PROBAR CUALQUIER D\u00cdA SIN ESPERAR:\r\n       ?hw_fecha=2026-10-31\r\n       Se puede combinar:  ?hw_fecha=2026-10-31&hw_idioma=pl\r\n\r\n     SI LOS ESTILOS NO SE APLICAN EN LA P\u00c1GINA PUBLICADA:\r\n       un plugin de optimizaci\u00f3n se est\u00e1 comiendo el <style> del widget.\r\n       Corta todo el bloque <style> y p\u00e9galo en\r\n       Apariencia \u2192 Personalizar \u2192 CSS adicional. El HTML se queda aqu\u00ed.\r\n\r\n     NOTAS:\r\n       - Cada oferta vive 24 h: 00:00 a 23:59 de su d\u00eda, hora de Mallorca.\r\n       - La fecha se resuelve en Europe\/Madrid, no con la hora del navegador.\r\n       - Las fechas largas se formatean con Intl en el idioma de la p\u00e1gina.\r\n       - La elecci\u00f3n se guarda en localStorage con clave por d\u00eda.\r\n       - Eventos a dataLayer: halloween_eleccion, halloween_copiar_codigo\r\n         (ambos llevan hw_idioma).\r\n       - En chino Creepster no tiene glifos: los titulares caen a una pila\r\n         de fuentes CJK. Es intencionado.\r\n     ========================================================================== -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Creepster&family=Inter:wght@400;600;700;800&family=Poppins:wght@400;500;600&display=swap\">\r\n\r\n<div id=\"hw-juego\">\r\n<style>\r\n  #hw-juego{\r\n    --hw-night:#0A090E;\r\n    --hw-night-2:#131118;\r\n    --hw-pumpkin:#FF6A13;\r\n    --hw-spell:#9B6BFF;\r\n    --hw-bone:#F3F0EA;\r\n    --hw-ash:#8B8496;\r\n    --hw-line:rgba(243,240,234,0.15);\r\n    --hw-gutter:clamp(16px,5vw,60px);\r\n\r\n    background:var(--hw-night);            \/* [FONDO] b\u00f3rralo si lo controlas desde Elementor *\/\r\n    color:var(--hw-bone);\r\n    font-family:'Poppins','Helvetica Neue',Arial,sans-serif;\r\n    font-size:16px;\r\n    line-height:1.6;\r\n    padding:clamp(30px,4vw,56px) 0 clamp(34px,4.4vw,60px);\r\n  }\r\n  #hw-juego *{box-sizing:border-box;}\r\n  #hw-juego p{margin:0;}\r\n  #hw-juego button{font:inherit;color:inherit;border:none;background:none;cursor:pointer;margin:0;}\r\n  #hw-juego a{text-decoration:none;color:inherit;}\r\n  #hw-juego :focus-visible{outline:2px solid var(--hw-pumpkin);outline-offset:3px;}\r\n  #hw-juego .hw-tag{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.2em;\r\n    text-transform:uppercase;font-weight:600;color:var(--hw-ash);}\r\n\r\n  \/* cabecera del bloque *\/\r\n  #hw-juego .hw-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;\r\n    gap:10px 20px;margin:0 var(--hw-gutter);padding-bottom:18px;border-bottom:1px solid var(--hw-line);}\r\n  #hw-juego .hw-head h2{font-family:'Creepster',Impact,sans-serif;font-weight:400;\r\n    font-size:clamp(28px,3.4vw,44px);letter-spacing:0.02em;line-height:1;margin:0;\r\n    text-transform:uppercase;color:var(--hw-bone);}\r\n  #hw-juego .hw-dia{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.14em;\r\n    text-transform:uppercase;font-weight:700;color:var(--hw-ash);}\r\n  #hw-juego .hw-dia.hw-live{color:var(--hw-pumpkin);}\r\n\r\n  \/* las dos puertas, a ancho completo *\/\r\n  #hw-juego .hw-doors{display:grid;grid-template-columns:1fr 1fr;\r\n    border-top:1px solid var(--hw-line);border-bottom:1px solid var(--hw-line);background:var(--hw-night-2);}\r\n  #hw-juego .hw-door{position:relative;display:flex;flex-direction:column;align-items:flex-start;\r\n    gap:10px;text-align:left;padding:clamp(26px,3.4vw,44px) var(--hw-gutter);min-height:250px;\r\n    transition:background .25s ease,color .25s ease;}\r\n  #hw-juego .hw-door+.hw-door{border-left:1px solid var(--hw-line);}\r\n  #hw-juego .hw-door:hover:not([disabled]).hw-truco{background:var(--hw-spell);color:#14100A;}\r\n  #hw-juego .hw-door:hover:not([disabled]).hw-trato{background:var(--hw-pumpkin);color:#14100A;}\r\n  #hw-juego .hw-name{font-family:'Creepster',Impact,sans-serif;font-weight:400;line-height:0.94;\r\n    letter-spacing:0.02em;text-transform:uppercase;font-size:clamp(42px,5.6vw,66px);}\r\n  #hw-juego .hw-truco .hw-name{color:var(--hw-spell);}\r\n  #hw-juego .hw-trato .hw-name{color:var(--hw-pumpkin);}\r\n  #hw-juego .hw-door:hover:not([disabled]) .hw-name{color:inherit;}\r\n  #hw-juego .hw-sub{font-size:14.5px;max-width:30ch;line-height:1.5;color:var(--hw-ash);}\r\n  #hw-juego .hw-door:hover:not([disabled]) .hw-sub{color:inherit;}\r\n  #hw-juego .hw-doorcta{margin-top:auto;padding-top:18px;font-family:'Inter',sans-serif;font-size:11px;\r\n    letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:var(--hw-bone);}\r\n  #hw-juego .hw-door:hover:not([disabled]) .hw-doorcta{color:inherit;}\r\n  #hw-juego .hw-door[disabled]{cursor:default;}\r\n  #hw-juego .hw-dimmed{opacity:0.3;}\r\n  #hw-juego .hw-picked{background:rgba(243,240,234,0.04);}\r\n  #hw-juego .hw-doors.hw-asleep .hw-door{opacity:0.38;cursor:default;}\r\n\r\n  \/* el revelado *\/\r\n  #hw-juego .hw-reveal{border-bottom:1px solid var(--hw-line);background:var(--hw-night-2);\r\n    padding:clamp(22px,3vw,38px) var(--hw-gutter);\r\n    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,44px);align-items:start;}\r\n  #hw-juego .hw-reveal[hidden]{display:none;}\r\n  #hw-juego .hw-reveal.hw-r-truco{border-left:3px solid var(--hw-spell);}\r\n  #hw-juego .hw-reveal.hw-r-trato{border-left:3px solid var(--hw-pumpkin);}\r\n  #hw-juego .hw-reveal h3{font-family:'Creepster',Impact,sans-serif;font-weight:400;line-height:0.94;\r\n    letter-spacing:0.02em;text-transform:uppercase;font-size:clamp(26px,3.4vw,42px);margin:8px 0 14px;}\r\n  #hw-juego .hw-r-truco h3{color:var(--hw-spell);}\r\n  #hw-juego .hw-r-trato h3{color:var(--hw-pumpkin);}\r\n  #hw-juego .hw-premio{font-family:'Inter',sans-serif;font-size:clamp(20px,2.3vw,26px);font-weight:700;line-height:1.25;}\r\n  #hw-juego .hw-cond{margin-top:10px;color:var(--hw-ash);font-size:14.5px;max-width:50ch;}\r\n  #hw-juego .hw-acciones{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px;}\r\n  #hw-juego .hw-btn{display:inline-block;font-family:'Inter',sans-serif;font-weight:700;font-size:15px;\r\n    background:var(--hw-pumpkin);color:#14100A;border-radius:100px;padding:14px 30px;transition:background .2s ease;}\r\n  #hw-juego .hw-btn:hover{background:#E15A0C;}\r\n  #hw-juego .hw-caduca{font-family:'Inter',sans-serif;font-size:12px;color:var(--hw-ash);letter-spacing:0.04em;}\r\n  #hw-juego .hw-caduca b{color:var(--hw-bone);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;}\r\n  #hw-juego .hw-aviso{margin-top:20px;font-family:'Inter',sans-serif;font-size:clamp(15px,1.5vw,17px);\r\n    font-weight:700;line-height:1.35;background:var(--hw-pumpkin);color:#14100A;\r\n    padding:15px 20px;display:flex;align-items:center;gap:12px;max-width:52ch;}\r\n  #hw-juego .hw-r-truco .hw-aviso{background:var(--hw-spell);}\r\n  #hw-juego .hw-aviso::before{content:\"\u2713\";font-size:20px;line-height:1;flex:none;}\r\n  #hw-juego .hw-aviso[hidden]{display:none;}\r\n\r\n  \/* el cup\u00f3n *\/\r\n  #hw-juego .hw-loot{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}\r\n  #hw-juego .hw-ticket{\r\n    --hw-notch:13px;\r\n    position:relative;min-width:min(300px,74vw);text-align:center;\r\n    padding:20px 30px 18px;color:#14100A;\r\n    background-color:var(--hw-pumpkin);\r\n    background-image:\r\n      radial-gradient(circle at 0 calc(100% - 47px), var(--hw-night) var(--hw-notch), transparent calc(var(--hw-notch) + 1px)),\r\n      radial-gradient(circle at 100% calc(100% - 47px), var(--hw-night) var(--hw-notch), transparent calc(var(--hw-notch) + 1px));\r\n    background-repeat:no-repeat;\r\n  }\r\n  #hw-juego .hw-r-truco .hw-ticket{background-color:var(--hw-spell);}\r\n  #hw-juego .hw-ticket .hw-codigo{font-family:'Creepster',Impact,sans-serif;font-size:clamp(38px,4.8vw,60px);\r\n    line-height:1;letter-spacing:0.05em;display:block;text-transform:uppercase;}\r\n  #hw-juego .hw-copiar{display:block;width:100%;margin-top:14px;padding-top:14px;\r\n    border-top:2px dashed rgba(20,16,10,0.4);\r\n    font-family:'Inter',sans-serif;font-size:11px;line-height:1.4;letter-spacing:0.16em;\r\n    text-transform:uppercase;font-weight:700;color:#14100A;}\r\n  #hw-juego .hw-copiar:hover{opacity:.72;}\r\n\r\n  \/* el tema redondea todos los <button>: las puertas y el cup\u00f3n van rectos *\/\r\n  #hw-juego .hw-door,\r\n  #hw-juego .hw-copiar{border-radius:0 !important;-webkit-appearance:none;appearance:none;box-shadow:none !important;}\r\n\r\n  \/* chino: Creepster no tiene glifos CJK, los titulares usan otra pila *\/\r\n  #hw-juego.hw-cjk .hw-head h2,\r\n  #hw-juego.hw-cjk .hw-reveal h3,\r\n  #hw-juego.hw-cjk .hw-name{\r\n    font-family:'Noto Sans TC','PingFang TC','Microsoft JhengHei','Heiti TC',sans-serif;\r\n    font-weight:800;letter-spacing:0.02em;line-height:1.15;}\r\n  #hw-juego.hw-cjk .hw-head h2{font-size:clamp(24px,2.8vw,34px);}\r\n  #hw-juego.hw-cjk .hw-reveal h3{font-size:clamp(23px,2.8vw,34px);}\r\n  #hw-juego.hw-cjk .hw-name{font-size:clamp(36px,4.6vw,54px);}\r\n\r\n  @media (max-width:760px){\r\n    #hw-juego .hw-doors{grid-template-columns:1fr;}\r\n    #hw-juego .hw-door+.hw-door{border-left:none;border-top:1px solid var(--hw-line);}\r\n    #hw-juego .hw-door{min-height:0;}\r\n    #hw-juego .hw-reveal{grid-template-columns:1fr;}\r\n  }\r\n  @media (prefers-reduced-motion:reduce){\r\n    #hw-juego *{transition:none !important;}\r\n  }\r\n<\/style>\r\n\r\n  <div class=\"hw-head\">\r\n    <h2 id=\"hw-h2\">Elige tu camino<\/h2>\r\n    <span class=\"hw-dia\" id=\"hw-dia\">\u2014<\/span>\r\n  <\/div>\r\n\r\n  <div class=\"hw-doors\" id=\"hw-doors\">\r\n    <button type=\"button\" class=\"hw-door hw-truco\" id=\"hw-b-truco\">\r\n      <span class=\"hw-name\" id=\"hw-name-truco\">Truco<\/span>\r\n      <span class=\"hw-sub\" id=\"hw-sub-truco\">M\u00e1s descuento, pero el coche es un misterio: modelo sorpresa.<\/span>\r\n      <span class=\"hw-doorcta\" id=\"hw-cta-truco\">Abrir el truco \u2192<\/span>\r\n    <\/button>\r\n\r\n    <button type=\"button\" class=\"hw-door hw-trato\" id=\"hw-b-trato\">\r\n      <span class=\"hw-name\" id=\"hw-name-trato\">Trato<\/span>\r\n      <span class=\"hw-sub\" id=\"hw-sub-trato\">Menos descuento, pero eliges t\u00fa el modelo del coche.<\/span>\r\n      <span class=\"hw-doorcta\" id=\"hw-cta-trato\">Abrir el trato \u2192<\/span>\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <div class=\"hw-reveal\" id=\"hw-reveal\" hidden>\r\n    <div>\r\n      <span class=\"hw-tag\" id=\"hw-tag\"><\/span>\r\n      <h3 id=\"hw-titulo\"><\/h3>\r\n      <p class=\"hw-premio\" id=\"hw-premio\">\u2014<\/p>\r\n      <p class=\"hw-cond\" id=\"hw-cond\">\u2014<\/p>\r\n      <div class=\"hw-acciones\">\r\n        <button type=\"button\" class=\"hw-btn\" id=\"hw-reservar\">Copiar mi c\u00f3digo<\/button>\r\n        <span class=\"hw-caduca\" id=\"hw-caduca\"><b id=\"hw-reloj\">--:--:--<\/b><\/span>\r\n      <\/div>\r\n      <p class=\"hw-aviso\" id=\"hw-aviso\" role=\"status\" aria-live=\"polite\" hidden><\/p>\r\n    <\/div>\r\n    <div class=\"hw-loot\">\r\n      <span class=\"hw-tag\" id=\"hw-label-codigo\">Tu c\u00f3digo de hoy<\/span>\r\n      <div class=\"hw-ticket\">\r\n        <span class=\"hw-codigo\" id=\"hw-codigo\">\u2014\u2014<\/span>\r\n        <button type=\"button\" class=\"hw-copiar\" id=\"hw-copiar\">Copiar c\u00f3digo<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  'use strict';\r\n\r\n  \/* =====================================================================\r\n     1) CALENDARIO \u2014 sin textos, sirve para los siete idiomas.\r\n        Cada oferta dura 24 h: de las 00:00 a las 23:59 de su propio d\u00eda,\r\n        hora de Mallorca. Si alg\u00fan d\u00eda tuviera que durar m\u00e1s, a\u00f1ade a esa\r\n        entrada  vence:'AAAA-MM-DD'  y el bloque lo respeta.\r\n        truco ... siempre porcentaje, con la condici\u00f3n 'web'.\r\n        trato ... pct (porcentaje) o tipo 'upgrade' \/ 'regalo'.\r\n        cond .... premium | noPremium | todas | flota | oficina\r\n     ===================================================================== *\/\r\n  var CAL = {\r\n    '2026-10-19':{truco:{cod:'TRICK19',pct:25},    trato:{cod:'TREAT19',pct:10,cond:'premium'}},\r\n    '2026-10-20':{truco:{cod:'TRICK20',pct:30},    trato:{cod:'TREAT20',pct:15,cond:'noPremium'}},\r\n    '2026-10-21':{truco:{cod:'TRICK21',pct:35},    trato:{cod:'TREAT21',tipo:'upgrade',cond:'flota'}},\r\n    '2026-10-22':{truco:{cod:'TRICK22',pct:25},    trato:{cod:'TREAT22',pct:10,cond:'noPremium'}},\r\n    '2026-10-23':{truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-24':{truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-25':{truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-26':{truco:{cod:'TRICK26',pct:35},    trato:{cod:'TREAT26',pct:20,cond:'noPremium'}},\r\n    '2026-10-27':{truco:{cod:'TRICK27',pct:25},    trato:{cod:'TREAT27',tipo:'regalo',cond:'oficina'}},\r\n    '2026-10-28':{truco:{cod:'TRICK28',pct:35},    trato:{cod:'TREAT28',pct:20,cond:'noPremium'}},\r\n    '2026-10-29':{truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-10-30':{truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-10-31':{truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-11-01':{truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}}\r\n  };\r\n\r\n  \/* =====================================================================\r\n     2) TEXTOS. {n} d\u00eda actual \u00b7 {t} total \u00b7 {q} noches restantes\r\n                {f} fecha \u00b7 {c} c\u00f3digo \u00b7 {p} porcentaje\r\n     ===================================================================== *\/\r\n  var I18N = {\r\n\r\n    es:{ loc:'es-ES',\r\n      elige:'Elige tu camino',\r\n      dias:'D\u00eda {n} de {t} \u00b7 quedan {q} noches',\r\n      empieza:'Empieza el {f}', fin:'Campa\u00f1a finalizada',\r\n      truco:'Truco', trato:'Trato',\r\n      subT:'M\u00e1s descuento, pero el coche es un misterio: modelo sorpresa.',\r\n      subR:'Menos descuento, pero eliges t\u00fa el modelo del coche.',\r\n      abrirT:'Abrir el truco \u2192', abrirR:'Abrir el trato \u2192', ya:'Ya has elegido hoy',\r\n      tituloT:'Has abierto el truco', tituloR:'Has abierto el trato',\r\n      tag:'D\u00eda {n} de {t} \u00b7 {f}',\r\n      tuCodigo:'Tu c\u00f3digo de hoy', copiar:'Copiar c\u00f3digo', copiado:'Copiado', btn:'Copiar mi c\u00f3digo',\r\n      aviso:'C\u00f3digo {c} copiado. P\u00e9galo al realizar tu reserva.',\r\n      caduca:'Caduca hoy a las 23:59 \u00b7 ', hasta:'V\u00e1lido hasta el {f} \u00b7 ',\r\n      pct:'{p} % de descuento', upgrade:'Subida de categor\u00eda', regalo:'Bolsa de playa y gorra de regalo',\r\n      cond:{ web:'Encuentra el modelo en nuestra web.',\r\n             premium:'V\u00e1lido \u00fanicamente sobre veh\u00edculos premium.',\r\n             noPremium:'V\u00e1lido en todos los veh\u00edculos excepto premium.',\r\n             todas:'V\u00e1lido en todos los veh\u00edculos, sin excepciones.',\r\n             flota:'Reservas un modelo y recoges otro de un grupo superior, seg\u00fan disponibilidad de flota.',\r\n             oficina:'Te las entregamos en la oficina al recoger el coche.' } },\r\n\r\n    en:{ loc:'en-GB',\r\n      elige:'Choose your path',\r\n      dias:'Day {n} of {t} \u00b7 {q} nights left',\r\n      empieza:'Starts on {f}', fin:'Campaign closed',\r\n      truco:'Trick', trato:'Treat',\r\n      subT:'A bigger discount, but the car is a mystery: surprise model.',\r\n      subR:'A smaller discount, but you choose the car model.',\r\n      abrirT:'Open the trick \u2192', abrirR:'Open the treat \u2192', ya:\"You've already chosen today\",\r\n      tituloT:'You opened the trick', tituloR:'You opened the treat',\r\n      tag:'Day {n} of {t} \u00b7 {f}',\r\n      tuCodigo:'Your code for today', copiar:'Copy code', copiado:'Copied', btn:'Copy my code',\r\n      aviso:'Code {c} copied. Paste it when you book.',\r\n      caduca:'Expires today at 23:59 \u00b7 ', hasta:'Valid until {f} \u00b7 ',\r\n      pct:'{p}% off', upgrade:'Free category upgrade', regalo:'Free beach bag and cap',\r\n      cond:{ web:'Find the model on our website.',\r\n             premium:'Valid on premium vehicles only.',\r\n             noPremium:'Valid on all vehicles except premium.',\r\n             todas:'Valid on all vehicles, no exceptions.',\r\n             flota:'Book one model and pick up another from a higher group, subject to fleet availability.',\r\n             oficina:'We hand them to you at the office when you collect the car.' } },\r\n\r\n    it:{ loc:'it-IT',\r\n      elige:'Scegli la tua strada',\r\n      dias:'Giorno {n} di {t} \u00b7 mancano {q} notti',\r\n      empieza:'Inizia il {f}', fin:'Campagna conclusa',\r\n      truco:'Scherzetto', trato:'Dolcetto',\r\n      subT:\"Pi\u00f9 sconto, ma l'auto \u00e8 un mistero: modello a sorpresa.\",\r\n      subR:\"Meno sconto, ma scegli tu il modello dell'auto.\",\r\n      abrirT:'Apri lo scherzetto \u2192', abrirR:'Apri il dolcetto \u2192', ya:'Hai gi\u00e0 scelto oggi',\r\n      tituloT:'Hai aperto lo scherzetto', tituloR:'Hai aperto il dolcetto',\r\n      tag:'Giorno {n} di {t} \u00b7 {f}',\r\n      tuCodigo:'Il tuo codice di oggi', copiar:'Copia il codice', copiado:'Copiato', btn:'Copia il mio codice',\r\n      aviso:'Codice {c} copiato. Incollalo al momento della prenotazione.',\r\n      caduca:'Scade oggi alle 23:59 \u00b7 ', hasta:'Valido fino al {f} \u00b7 ',\r\n      pct:'{p} % di sconto', upgrade:'Passaggio di categoria', regalo:'Borsa da mare e cappellino in regalo',\r\n      cond:{ web:'Trova il modello sul nostro sito.',\r\n             premium:'Valido solo sui veicoli premium.',\r\n             noPremium:'Valido su tutti i veicoli tranne i premium.',\r\n             todas:'Valido su tutti i veicoli, senza eccezioni.',\r\n             flota:'Prenoti un modello e ne ritiri uno di un gruppo superiore, secondo disponibilit\u00e0 della flotta.',\r\n             oficina:\"Te li consegniamo in ufficio al ritiro dell'auto.\" } },\r\n\r\n    de:{ loc:'de-DE',\r\n      elige:'W\u00e4hle deinen Weg',\r\n      dias:'Tag {n} von {t} \u00b7 noch {q} N\u00e4chte',\r\n      empieza:'Start am {f}', fin:'Aktion beendet',\r\n      truco:'Streich', trato:'S\u00fc\u00dfes',\r\n      subT:'Mehr Rabatt, aber das Auto bleibt ein R\u00e4tsel: \u00dcberraschungsmodell.',\r\n      subR:'Weniger Rabatt, daf\u00fcr w\u00e4hlst du das Automodell selbst.',\r\n      abrirT:'Streich \u00f6ffnen \u2192', abrirR:'S\u00fc\u00dfes \u00f6ffnen \u2192', ya:'Du hast heute schon gew\u00e4hlt',\r\n      tituloT:'Du hast den Streich ge\u00f6ffnet', tituloR:'Du hast das S\u00fc\u00dfe ge\u00f6ffnet',\r\n      tag:'Tag {n} von {t} \u00b7 {f}',\r\n      tuCodigo:'Dein Code f\u00fcr heute', copiar:'Code kopieren', copiado:'Kopiert', btn:'Meinen Code kopieren',\r\n      aviso:'Code {c} kopiert. F\u00fcge ihn bei der Buchung ein.',\r\n      caduca:'L\u00e4uft heute um 23:59 Uhr ab \u00b7 ', hasta:'G\u00fcltig bis {f} \u00b7 ',\r\n      pct:'{p} % Rabatt', upgrade:'Upgrade in die n\u00e4chste Kategorie', regalo:'Strandtasche und Cap gratis',\r\n      cond:{ web:'Das Modell findest du auf unserer Website.',\r\n             premium:'Nur f\u00fcr Premium-Fahrzeuge g\u00fcltig.',\r\n             noPremium:'G\u00fcltig f\u00fcr alle Fahrzeuge au\u00dfer Premium.',\r\n             todas:'G\u00fcltig f\u00fcr alle Fahrzeuge, ohne Ausnahme.',\r\n             flota:'Du buchst ein Modell und bekommst eines aus einer h\u00f6heren Gruppe, je nach Verf\u00fcgbarkeit der Flotte.',\r\n             oficina:'Wir \u00fcbergeben sie dir im B\u00fcro bei der Abholung.' } },\r\n\r\n    fr:{ loc:'fr-FR',\r\n      elige:'Choisis ton chemin',\r\n      dias:'Jour {n} sur {t} \u00b7 encore {q} nuits',\r\n      empieza:'D\u00e9but le {f}', fin:'Campagne termin\u00e9e',\r\n      truco:'Un sort', trato:'Un bonbon',\r\n      subT:'Plus de remise, mais la voiture reste un myst\u00e8re : mod\u00e8le surprise.',\r\n      subR:'Moins de remise, mais tu choisis le mod\u00e8le de la voiture.',\r\n      abrirT:'Ouvrir le sort \u2192', abrirR:'Ouvrir le bonbon \u2192', ya:'Tu as d\u00e9j\u00e0 choisi aujourd\u2019hui',\r\n      tituloT:'Tu as ouvert le sort', tituloR:'Tu as ouvert le bonbon',\r\n      tag:'Jour {n} sur {t} \u00b7 {f}',\r\n      tuCodigo:'Ton code du jour', copiar:'Copier le code', copiado:'Copi\u00e9', btn:'Copier mon code',\r\n      aviso:'Code {c} copi\u00e9. Colle-le au moment de r\u00e9server.',\r\n      caduca:'Expire aujourd\u2019hui \u00e0 23 h 59 \u00b7 ', hasta:'Valable jusqu\u2019au {f} \u00b7 ',\r\n      pct:'{p} % de r\u00e9duction', upgrade:'Surclassement', regalo:'Sac de plage et casquette offerts',\r\n      cond:{ web:'Retrouve le mod\u00e8le sur notre site.',\r\n             premium:'Valable uniquement sur les v\u00e9hicules premium.',\r\n             noPremium:'Valable sur tous les v\u00e9hicules sauf premium.',\r\n             todas:'Valable sur tous les v\u00e9hicules, sans exception.',\r\n             flota:'Tu r\u00e9serves un mod\u00e8le et tu repars avec un groupe sup\u00e9rieur, selon la disponibilit\u00e9 de la flotte.',\r\n             oficina:'Nous te les remettons \u00e0 l\u2019agence au moment du retrait.' } },\r\n\r\n    pl:{ loc:'pl-PL',\r\n      elige:'Wybierz swoj\u0105 drog\u0119',\r\n      dias:'Dzie\u0144 {n} z {t} \u00b7 zosta\u0142o {q} nocy',\r\n      empieza:'Start {f}', fin:'Kampania zako\u0144czona',\r\n      truco:'Psikus', trato:'Cukierek',\r\n      subT:'Wi\u0119ksza zni\u017cka, ale samoch\u00f3d to zagadka: model niespodzianka.',\r\n      subR:'Mniejsza zni\u017cka, ale sam wybierasz model samochodu.',\r\n      abrirT:'Otw\u00f3rz psikusa \u2192', abrirR:'Otw\u00f3rz cukierka \u2192', ya:'Dzi\u015b ju\u017c dokona\u0142e\u015b wyboru',\r\n      tituloT:'Otworzy\u0142e\u015b psikusa', tituloR:'Otworzy\u0142e\u015b cukierka',\r\n      tag:'Dzie\u0144 {n} z {t} \u00b7 {f}',\r\n      tuCodigo:'Tw\u00f3j kod na dzi\u015b', copiar:'Kopiuj kod', copiado:'Skopiowano', btn:'Kopiuj m\u00f3j kod',\r\n      aviso:'Kod {c} skopiowany. Wklej go przy rezerwacji.',\r\n      caduca:'Wygasa dzi\u015b o 23:59 \u00b7 ', hasta:'Wa\u017cny do {f} \u00b7 ',\r\n      pct:'{p}% zni\u017cki', upgrade:'Wy\u017csza kategoria', regalo:'Torba pla\u017cowa i czapka gratis',\r\n      cond:{ web:'Model znajdziesz na naszej stronie.',\r\n             premium:'Obowi\u0105zuje wy\u0142\u0105cznie na pojazdy premium.',\r\n             noPremium:'Obowi\u0105zuje na wszystkie pojazdy poza premium.',\r\n             todas:'Obowi\u0105zuje na wszystkie pojazdy, bez wyj\u0105tk\u00f3w.',\r\n             flota:'Rezerwujesz jeden model, a odbierasz z wy\u017cszej grupy, w miar\u0119 dost\u0119pno\u015bci floty.',\r\n             oficina:'Wydajemy je w biurze przy odbiorze samochodu.' } },\r\n\r\n    zh:{ loc:'zh-Hant',\r\n      elige:'\u9078\u64c7\u4f60\u7684\u8def',\r\n      dias:'\u7b2c {n} \u5929\uff0f\u5171 {t} \u5929 \u00b7 \u9084\u5269 {q} \u665a',\r\n      empieza:'{f} \u958b\u59cb', fin:'\u6d3b\u52d5\u5df2\u7d50\u675f',\r\n      truco:'\u6417\u86cb', trato:'\u7d66\u7cd6',\r\n      subT:'\u6298\u6263\u66f4\u9ad8\uff0c\u4f46\u8eca\u6b3e\u4fdd\u5bc6\uff1a\u9a5a\u559c\u8eca\u578b\u3002',\r\n      subR:'\u6298\u6263\u8f03\u4f4e\uff0c\u4f46\u8eca\u6b3e\u7531\u4f60\u6311\u9078\u3002',\r\n      abrirT:'\u6253\u958b\u6417\u86cb \u2192', abrirR:'\u6253\u958b\u7d66\u7cd6 \u2192', ya:'\u4eca\u5929\u5df2\u7d93\u9078\u904e\u4e86',\r\n      tituloT:'\u4f60\u6253\u958b\u4e86\u6417\u86cb', tituloR:'\u4f60\u6253\u958b\u4e86\u7d66\u7cd6',\r\n      tag:'\u7b2c {n} \u5929\uff0f\u5171 {t} \u5929 \u00b7 {f}',\r\n      tuCodigo:'\u4f60\u4eca\u5929\u7684\u4ee3\u78bc', copiar:'\u8907\u88fd\u4ee3\u78bc', copiado:'\u5df2\u8907\u88fd', btn:'\u8907\u88fd\u6211\u7684\u4ee3\u78bc',\r\n      aviso:'\u4ee3\u78bc {c} \u5df2\u8907\u88fd\uff0c\u8a02\u8eca\u6642\u8cbc\u4e0a\u5373\u53ef\u3002',\r\n      caduca:'\u4eca\u65e5 23:59 \u5230\u671f \u00b7 ', hasta:'\u6709\u6548\u671f\u81f3 {f} \u00b7 ',\r\n      pct:'{p}% \u6298\u6263', upgrade:'\u5347\u7b49\u8eca\u578b', regalo:'\u8d08\u9001\u6d77\u7058\u5305\u8207\u5e3d\u5b50',\r\n      cond:{ web:'\u53ef\u5728\u6211\u5011\u7684\u7db2\u7ad9\u67e5\u770b\u8eca\u578b\u3002',\r\n             premium:'\u50c5\u9069\u7528\u65bc premium \u8eca\u6b3e\u3002',\r\n             noPremium:'\u9069\u7528\u65bc premium \u4ee5\u5916\u7684\u6240\u6709\u8eca\u6b3e\u3002',\r\n             todas:'\u9069\u7528\u65bc\u6240\u6709\u8eca\u6b3e\uff0c\u7121\u4f8b\u5916\u3002',\r\n             flota:'\u9810\u8a02\u4e00\u6b3e\u8eca\uff0c\u53d6\u8eca\u6642\u5347\u81f3\u66f4\u9ad8\u8eca\u7d44\uff0c\u8996\u8eca\u968a\u4f9b\u61c9\u60c5\u6cc1\u800c\u5b9a\u3002',\r\n             oficina:'\u53d6\u8eca\u6642\u65bc\u9580\u5e02\u4ea4\u7d66\u4f60\u3002' } }\r\n  };\r\n\r\n  \/* ===================== a partir de aqu\u00ed, no hace falta tocar ==================== *\/\r\n\r\n  var TZ = 'Europe\/Madrid';\r\n  var FECHAS = Object.keys(CAL).sort();\r\n\r\n  function $(id){ return document.getElementById(id); }\r\n  var raiz = $('hw-juego'), doors = $('hw-doors');\r\n  var bTruco = $('hw-b-truco'), bTrato = $('hw-b-trato'), reveal = $('hw-reveal');\r\n  if (!doors) return;\r\n\r\n  \/* --- idioma --- *\/\r\n  function detectaIdioma(){\r\n    var forzado = '';\r\n    try { forzado = (location.search.match(\/[?&]hw_idioma=([a-zA-Z-]+)\/) || [])[1] || ''; } catch(e){}\r\n    var cod = (forzado || document.documentElement.getAttribute('lang') || 'es').toLowerCase();\r\n    if (cod.indexOf('zh') === 0) return 'zh';\r\n    cod = cod.split('-')[0];\r\n    return I18N[cod] ? cod : 'es';\r\n  }\r\n  var IDIOMA = detectaIdioma();\r\n  var T = I18N[IDIOMA];\r\n  if (IDIOMA === 'zh') raiz.classList.add('hw-cjk');\r\n\r\n  function txt(plantilla, datos){\r\n    return String(plantilla).replace(\/\\{(\\w+)\\}\/g, function(_, k){\r\n      return (datos && datos[k] !== undefined) ? datos[k] : '';\r\n    });\r\n  }\r\n\r\n  \/* --- fecha en hora de Mallorca: inmune al huso del visitante y al cambio de hora --- *\/\r\n  function partes(d){\r\n    var f = new Intl.DateTimeFormat('en-GB',{timeZone:TZ,hourCycle:'h23',\r\n      year:'numeric',month:'2-digit',day:'2-digit',hour:'2-digit',minute:'2-digit',second:'2-digit'});\r\n    var p = {};\r\n    f.formatToParts(d).forEach(function(x){ p[x.type] = x.value; });\r\n    return p;\r\n  }\r\n  function fechaMadrid(d){ var p = partes(d); return p.year + '-' + p.month + '-' + p.day; }\r\n  function dias(a,b){ return Math.round((Date.parse(b+'T00:00:00Z') - Date.parse(a+'T00:00:00Z'))\/86400000); }\r\n\r\n  \/* fecha larga, en el idioma de la p\u00e1gina *\/\r\n  function bonito(f){\r\n    try {\r\n      return new Intl.DateTimeFormat(T.loc, {day:'numeric', month:'long', timeZone:'UTC'})\r\n        .format(new Date(f + 'T00:00:00Z'));\r\n    } catch(e){ return f; }\r\n  }\r\n\r\n  function finDeDia(ahora, hasta){\r\n    var p = partes(ahora);\r\n    var t = new Date(ahora.getTime() + (86400 - (+p.hour*3600 + +p.minute*60 + +p.second))*1000);\r\n    var hoyf = fechaMadrid(ahora), g = 0;\r\n    while (fechaMadrid(new Date(t.getTime()-1000)) !== hoyf && g++ < 6) t = new Date(t.getTime()-3600000);\r\n    while (fechaMadrid(t) === hoyf && g++ < 12) t = new Date(t.getTime()+3600000);\r\n    return new Date(t.getTime() + Math.max(0, dias(hoyf, hasta))*86400000);\r\n  }\r\n\r\n  \/* --- fecha forzada solo para pruebas: ?hw_fecha=2026-10-31 --- *\/\r\n  var forzada = null;\r\n  try {\r\n    var q = (location.search.match(\/[?&]hw_fecha=(\\d{4}-\\d{2}-\\d{2})\/) || [])[1];\r\n    if (q) forzada = q;\r\n  } catch(e){}\r\n  function hoy(){ return forzada || fechaMadrid(new Date()); }\r\n  function dia(){ return CAL[hoy()] || null; }\r\n\r\n  function leer(){ try { return localStorage.getItem('roig_hw_' + hoy()); } catch(e){ return null; } }\r\n  function guardar(v){ try { localStorage.setItem('roig_hw_' + hoy(), v); } catch(e){} }\r\n\r\n  function gtm(evento, extra){\r\n    window.dataLayer = window.dataLayer || [];\r\n    var o = {event:evento, hw_dia:hoy(), hw_idioma:IDIOMA};\r\n    for (var k in extra) o[k] = extra[k];\r\n    window.dataLayer.push(o);\r\n  }\r\n\r\n  \/* --- textos fijos --- *\/\r\n  $('hw-h2').textContent = T.elige;\r\n  $('hw-name-truco').textContent = T.truco;\r\n  $('hw-name-trato').textContent = T.trato;\r\n  $('hw-sub-truco').textContent = T.subT;\r\n  $('hw-sub-trato').textContent = T.subR;\r\n  $('hw-label-codigo').textContent = T.tuCodigo;\r\n  $('hw-reservar').textContent = T.btn;\r\n  $('hw-copiar').textContent = T.copiar;\r\n\r\n  function premioDe(d){\r\n    if (d.tipo === 'upgrade') return T.upgrade;\r\n    if (d.tipo === 'regalo')  return T.regalo;\r\n    return txt(T.pct, {p:d.pct});\r\n  }\r\n\r\n  var elegido = null;\r\n\r\n  function render(){\r\n    elegido = null;\r\n    reveal.hidden = true;\r\n    var d = dia();\r\n\r\n    [bTruco, bTrato].forEach(function(b){ b.classList.remove('hw-dimmed','hw-picked'); b.disabled = !d; });\r\n    $('hw-cta-truco').textContent = T.abrirT;\r\n    $('hw-cta-trato').textContent = T.abrirR;\r\n    doors.classList.toggle('hw-asleep', !d);\r\n\r\n    var chip = $('hw-dia');\r\n    if (!d){\r\n      chip.classList.remove('hw-live');\r\n      chip.textContent = hoy() < FECHAS[0] ? txt(T.empieza, {f:bonito(FECHAS[0])}) : T.fin;\r\n      return;\r\n    }\r\n    chip.classList.add('hw-live');\r\n    var n = FECHAS.indexOf(hoy()) + 1;\r\n    chip.textContent = txt(T.dias, {n:n, t:FECHAS.length, q:FECHAS.length - n});\r\n\r\n    var previo = leer();\r\n    if (previo === 'truco' || previo === 'trato') abrir(previo, true);\r\n  }\r\n\r\n  function abrir(path, recordado){\r\n    var d = dia();\r\n    if (!d || (elegido && elegido !== path)) return;\r\n    elegido = path;\r\n    guardar(path);\r\n\r\n    var mia   = path === 'truco' ? bTruco : bTrato;\r\n    var otra  = path === 'truco' ? bTrato : bTruco;\r\n    var datos = d[path];\r\n\r\n    mia.classList.add('hw-picked');\r\n    otra.classList.add('hw-dimmed');\r\n    otra.disabled = true;\r\n    (path === 'truco' ? $('hw-cta-trato') : $('hw-cta-truco')).textContent = T.ya;\r\n\r\n    reveal.className = 'hw-reveal hw-r-' + path;\r\n    reveal.hidden = false;\r\n    $('hw-tag').textContent    = txt(T.tag, {n:FECHAS.indexOf(hoy())+1, t:FECHAS.length, f:bonito(hoy())});\r\n    $('hw-titulo').textContent = path === 'truco' ? T.tituloT : T.tituloR;\r\n    $('hw-premio').textContent = premioDe(datos);\r\n    $('hw-cond').textContent   = T.cond[path === 'truco' ? 'web' : (datos.cond || 'todas')];\r\n    $('hw-codigo').textContent = datos.cod;\r\n    $('hw-copiar').textContent = T.copiar;\r\n    $('hw-aviso').hidden = true;\r\n\r\n    var vence = d.vence || hoy();\r\n    $('hw-caduca').innerHTML = (vence === hoy() ? T.caduca : txt(T.hasta, {f:bonito(vence)}))\r\n      + '<b id=\"hw-reloj\">--:--:--<\/b>';\r\n    tic();\r\n\r\n    if (!recordado) gtm('halloween_eleccion', {hw_path:path, hw_codigo:datos.cod});\r\n  }\r\n\r\n  function tic(){\r\n    var c = $('hw-reloj'), d = dia();\r\n    if (!c || !d || reveal.hidden) return;\r\n    var ahora = new Date();\r\n    if (forzada && forzada !== fechaMadrid(ahora)){\r\n      ahora = new Date(ahora.getTime() + dias(fechaMadrid(ahora), forzada)*86400000);\r\n    }\r\n    var falta = Math.max(0, finDeDia(ahora, d.vence || hoy()) - ahora);\r\n    var s = Math.floor(falta\/1000), dd = Math.floor(s\/86400);\r\n    var pad = function(n){ return (n < 10 ? '0' : '') + n; };\r\n    c.textContent = (dd ? dd + ' d ' : '') + pad(Math.floor(s%86400\/3600)) + ':' + pad(Math.floor(s%3600\/60)) + ':' + pad(s%60);\r\n  }\r\n  setInterval(tic, 1000);\r\n\r\n  function copiar(origen){\r\n    var cod = $('hw-codigo').textContent;\r\n    var aviso = $('hw-aviso');\r\n    var hecho = function(){\r\n      aviso.textContent = txt(T.aviso, {c:cod});\r\n      aviso.hidden = false;\r\n      if (aviso.animate){\r\n        aviso.animate(\r\n          [{opacity:0, transform:'translateY(6px)'},{opacity:1, transform:'none'}],\r\n          {duration:220, easing:'ease-out'}\r\n        );\r\n      }\r\n      $('hw-copiar').textContent = T.copiado;\r\n      setTimeout(function(){ $('hw-copiar').textContent = T.copiar; }, 1800);\r\n      gtm('halloween_copiar_codigo', {hw_codigo:cod, hw_origen:origen});\r\n    };\r\n    if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(cod).then(hecho, hecho);\r\n    else hecho();\r\n  }\r\n\r\n  bTruco.addEventListener('click', function(){ abrir('truco'); });\r\n  bTrato.addEventListener('click', function(){ abrir('trato'); });\r\n  $('hw-copiar').addEventListener('click', function(){ copiar('cupon'); });\r\n  $('hw-reservar').addEventListener('click', function(){ copiar('cta'); });\r\n\r\n  render();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-52abcec e-con-full e-flex e-con e-parent\" data-id=\"52abcec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9eda599 elementor-widget elementor-widget-heading\" data-id=\"9eda599\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Warunki:<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b0cd269 elementor-widget elementor-widget-text-editor\" data-id=\"b0cd269\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Promocja obowi\u0105zuje od 19 pa\u017adziernika do 1 listopada 2026 r. Jeden wyb\u00f3r na osob\u0119 dziennie.<\/li><li>Kody z sekcji \u201eniespodzianka\u201d dotycz\u0105 wy\u0142\u0105cznie samochodu \u201educhowego\u201d: kategoria jest przypisywana w momencie odbioru pojazdu.<\/li><li>Zni\u017cki dotycz\u0105 podstawowej stawki wynajmu wybranych modeli. Nie mo\u017cna ich \u0142\u0105czy\u0107 z innymi promocjami.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Nigdy nie wiesz,co ci\u0119 czeka Wybierz \u201ecukierek albo psikus\u201d Oferta wa\u017cna do 1 listopada Wybierz \u201ecukierek albo psikus\u201d Oferta wa\u017cna do 1 listopada Wybierz \u201ecukierek albo psikus\u201d Oferta wa\u017cna do 1 listopada 01. Dwie drogi. Jeden wyb\u00f3r. Ka\u017cdej nocy o godz. 00:00 pojawiaj\u0105 si\u0119 dwie nowe oferty. 02 CZYSTKA czy TRYK: mo\u017cesz wybra\u0107 tylko jedn\u0105 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":32016,"parent":26332,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-32015","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/pages\/32015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/comments?post=32015"}],"version-history":[{"count":8,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/pages\/32015\/revisions"}],"predecessor-version":[{"id":32334,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/pages\/32015\/revisions\/32334"}],"up":[{"embeddable":true,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/pages\/26332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/media\/32016"}],"wp:attachment":[{"href":"https:\/\/roig.com\/pl\/wp-json\/wp\/v2\/media?parent=32015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}