{"id":22924,"date":"2025-10-09T10:54:23","date_gmt":"2025-10-09T08:54:23","guid":{"rendered":"https:\/\/roig.com\/offres-de-location-de-voitures\/oferta-halloween\/"},"modified":"2026-10-15T10:49:46","modified_gmt":"2026-10-15T08:49:46","slug":"halloween-offre","status":"publish","type":"page","link":"https:\/\/roig.com\/fr\/offres-mobilite-et-experiences\/halloween-offre\/","title":{"rendered":"L\u2019\u00eele ne dort jamais\u2026 et nous non plus"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22924\" class=\"elementor elementor-22924 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\">On ne sait jamais<span style=\"color:#FF6A13;display:block\">ce qui t'attend<\/span><span style=\"letter-spacing: 3.4px\"><\/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;\">Choisis \u00ab des bonbons ou un sort \u00bb<\/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;\">Offre valable jusqu'au 1er novembre<\/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;\">Choisis \u00ab des bonbons ou un sort \u00bb<\/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;\">Offre valable jusqu'au 1er novembre<\/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;\">Choisis \u00ab des bonbons ou un sort \u00bb<\/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;\">Offre valable jusqu'au 1er novembre<\/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>Deux chemins. Un choix. <\/strong><br><br>Chaque nuit \u00e0 minuit, deux nouvelles offres apparaissent.\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>Des bonbons ou un sort: tu ne peux en choisir qu\u2019une seule.<\/strong><br \/><br \/>Une fois que tu auras fait ton choix, l\u2019autre offre dispara\u00eetra. <strong><br \/>Il n\u2019y a pas de retour en arri\u00e8re \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>Qu\u2019est-ce que tu as tir\u00e9 au sort ?<\/strong><br \/><br \/>D\u00e9couvre l\u2019offre cach\u00e9e derri\u00e8re ton choix et obtiens <strong>ton code de r\u00e9duction<\/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>Demain\u2026 on recommence.<\/strong><br><br>Ton offre expire \u00e0 23 h 59. \u00ab Truco \u00bb ou \u00ab Trato \u00bb sont renouvel\u00e9s.  <strong>Tu vas rejouer ?<\/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       - 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        vence ... \u00faltimo d\u00eda en que el c\u00f3digo sigue siendo v\u00e1lido.\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':{vence:'2026-10-20', truco:{cod:'TRICK19',pct:25},    trato:{cod:'TREAT19',pct:10,cond:'premium'}},\r\n    '2026-10-20':{vence:'2026-10-21', truco:{cod:'TRICK20',pct:30},    trato:{cod:'TREAT20',pct:15,cond:'noPremium'}},\r\n    '2026-10-21':{vence:'2026-10-22', truco:{cod:'TRICK21',pct:35},    trato:{cod:'TREAT21',tipo:'upgrade',cond:'flota'}},\r\n    '2026-10-22':{vence:'2026-10-23', truco:{cod:'TRICK22',pct:25},    trato:{cod:'TREAT22',pct:10,cond:'noPremium'}},\r\n    '2026-10-23':{vence:'2026-10-24', truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-24':{vence:'2026-10-25', truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-25':{vence:'2026-10-26', truco:{cod:'HALLOTRICK',pct:30}, trato:{cod:'HALLOTREAT',pct:15,cond:'noPremium'}},\r\n    '2026-10-26':{vence:'2026-10-27', truco:{cod:'TRICK26',pct:35},    trato:{cod:'TREAT26',pct:20,cond:'noPremium'}},\r\n    '2026-10-27':{vence:'2026-10-28', truco:{cod:'TRICK27',pct:25},    trato:{cod:'TREAT27',tipo:'regalo',cond:'oficina'}},\r\n    '2026-10-28':{vence:'2026-10-29', truco:{cod:'TRICK28',pct:35},    trato:{cod:'TREAT28',pct:20,cond:'noPremium'}},\r\n    '2026-10-29':{vence:'2026-10-30', truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-10-30':{vence:'2026-10-31', truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-10-31':{vence:'2026-11-01', truco:{cod:'HAPPYTRICK',pct:40}, trato:{cod:'HAPPYTREAT',pct:25,cond:'todas'}},\r\n    '2026-11-01':{vence:'2026-11-02', 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 finalizar tu reserva.',\r\n      caduca:'Caduca esta noche \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 tonight \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 stanotte \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 Nacht 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 ce soir \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 p\u00f3\u0142nocy \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\u665a\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    $('hw-caduca').innerHTML = (d.vence === hoy() ? T.caduca : txt(T.hasta, {f:bonito(d.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) - 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\">Conditions :<\/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>Promotion valable du 19 octobre au 1er novembre 2026. Un choix par personne et par jour. <\/li><li>Les codes de la rubrique \u00ab astuce \u00bb s\u2019appliquent uniquement \u00e0 la voiture \u00ab fant\u00f4me \u00bb : la cat\u00e9gorie est attribu\u00e9e au moment de la prise en charge.<\/li><li>Les r\u00e9ductions s\u2019appliquent sur le tarif de base de la location pour certains mod\u00e8les. Elles ne sont pas cumulables avec d\u2019autres promotions. <\/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>On ne sait jamaisce qui t&rsquo;attend Choisis \u00ab des bonbons ou un sort \u00bb Offre valable jusqu&rsquo;au 1er novembre Choisis \u00ab des bonbons ou un sort \u00bb Offre valable jusqu&rsquo;au 1er novembre Choisis \u00ab des bonbons ou un sort \u00bb Offre valable jusqu&rsquo;au 1er novembre 01. Deux chemins. Un choix. Chaque nuit \u00e0 minuit, deux [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":22838,"parent":17168,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-22924","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/pages\/22924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/comments?post=22924"}],"version-history":[{"count":8,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/pages\/22924\/revisions"}],"predecessor-version":[{"id":32004,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/pages\/22924\/revisions\/32004"}],"up":[{"embeddable":true,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/pages\/17168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/media\/22838"}],"wp:attachment":[{"href":"https:\/\/roig.com\/fr\/wp-json\/wp\/v2\/media?parent=22924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}