/* RoMi Premium site UX: cohesive cookie panel and accessible fixed controls. */
.romi-back-top{position:fixed;right:22px;bottom:112px;z-index:9998;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(235,220,200,.7);border-radius:50%;background:#101820;color:#f3e5d2;font:600 25px/1 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s}
.romi-back-top.is-visible{opacity:1;visibility:visible;transform:none}
.romi-back-top:hover{background:#f0e3d1;color:#101820}
.romi-back-top:focus-visible,.romi-cookie button:focus-visible,.romi-cookie-settings:focus-visible{outline:3px solid #d8b991;outline-offset:3px}
.romi-cookie{position:fixed;bottom:20px;left:18px;right:18px;max-width:940px;margin:auto;z-index:99999;background:#111b25;color:#f9f5ef;border:1px solid rgba(231,213,189,.36);border-radius:18px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:0 18px 56px rgba(0,0,0,.32);font:400 14px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.romi-cookie[hidden],.romi-cookie-settings[hidden]{display:none!important}
.romi-cookie__copy{flex:1;min-width:0}
.romi-cookie strong{display:block;font-size:17px;font-weight:650;color:#fff;letter-spacing:-.01em}
.romi-cookie p{margin:6px 0 8px;color:#e2d9ce}
.romi-cookie a{color:#f1dfc5;text-decoration:underline;text-underline-offset:3px}
.romi-cookie__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.romi-cookie button,.romi-cookie-settings{font:600 13px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;border:1px solid #efdfc8;border-radius:999px;padding:13px 17px;background:#efdfc8;color:#101820;white-space:nowrap;transition:background .2s,color .2s}
.romi-cookie button:hover{background:#fff5e8}
.romi-cookie button[data-romi-consent=reject]{background:transparent;color:#f4e6d2;border-color:rgba(239,223,200,.8)}
.romi-cookie button[data-romi-consent=reject]:hover{background:rgba(255,255,255,.1)}
.romi-cookie-settings{position:fixed;bottom:18px;left:18px;z-index:9997;background:#101820;color:#f5e5d1;border-color:rgba(239,223,200,.45);padding:10px 15px;font-size:12px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
@media(max-width:700px){.romi-cookie{flex-direction:column;align-items:stretch;gap:15px;padding:19px;bottom:10px;left:10px;right:10px;border-radius:16px}.romi-cookie__actions{display:grid;grid-template-columns:1fr 1fr}.romi-cookie__actions button{white-space:normal;padding:12px 8px}.romi-back-top{right:16px;bottom:124px;width:45px;height:45px}.romi-cookie-settings{left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.romi-back-top,.romi-cookie button{transition:none}}

/* v1.0.14: lock cookie typography and state colours against global theme/button rules. */
html body #romi-cookie.romi-cookie{background:#101b26!important;color:#ffffff!important;border-color:rgba(241,227,207,.5)!important;font-family:inherit!important}
html body #romi-cookie .romi-cookie__copy,html body #romi-cookie .romi-cookie__copy strong{color:#ffffff!important}
html body #romi-cookie .romi-cookie__copy p{color:#f2f2f2!important;opacity:1!important}
html body #romi-cookie .romi-cookie__copy a,html body #romi-cookie .romi-cookie__copy a:link,html body #romi-cookie .romi-cookie__copy a:visited{display:inline!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#f1e3cf!important;text-decoration:underline!important;text-underline-offset:3px!important}
html body #romi-cookie .romi-cookie__copy a:hover{color:#fff!important}
html body #romi-cookie .romi-cookie__actions button[data-romi-consent="accept"],html body #romi-cookie .romi-cookie__actions button[data-romi-consent="accept"]:visited{background:#f1e3cf!important;color:#101b26!important;border:1px solid #f1e3cf!important;box-shadow:none!important;opacity:1!important;text-shadow:none!important;-webkit-text-fill-color:#101b26!important}
html body #romi-cookie .romi-cookie__actions button[data-romi-consent="accept"]:hover,html body #romi-cookie .romi-cookie__actions button[data-romi-consent="accept"]:focus-visible{background:#fff5e8!important;color:#101b26!important;border-color:#fff5e8!important;-webkit-text-fill-color:#101b26!important}
html body #romi-cookie .romi-cookie__actions button[data-romi-consent="reject"]{background:transparent!important;color:#f1e3cf!important;border:1px solid #f1e3cf!important;box-shadow:none!important;opacity:1!important;text-shadow:none!important;-webkit-text-fill-color:#f1e3cf!important}
html body #romi-cookie .romi-cookie__actions button[data-romi-consent="reject"]:hover,html body #romi-cookie .romi-cookie__actions button[data-romi-consent="reject"]:focus-visible{background:rgba(241,227,207,.13)!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important}
html body #romi-cookie .romi-cookie__actions button:focus-visible,html body #romi-cookie .romi-cookie__copy a:focus-visible{outline:3px solid #f1e3cf!important;outline-offset:3px!important}
@media(min-width:701px){html body #romi-cookie.romi-cookie{max-width:940px;gap:22px}html body #romi-cookie .romi-cookie__actions{flex-shrink:0}}

/* v1.0.15: Cookie Policy control uses black text on cream background in every state. */
html body #romi-cookie .romi-cookie__copy a,
html body #romi-cookie .romi-cookie__copy a:link,
html body #romi-cookie .romi-cookie__copy a:visited,
html body #romi-cookie .romi-cookie__copy a:hover,
html body #romi-cookie .romi-cookie__copy a:focus-visible {
  display:inline-block!important; background:#f1e3cf!important; color:#000000!important;
  -webkit-text-fill-color:#000000!important; text-shadow:none!important;
  border:1px solid #f1e3cf!important; border-radius:8px!important; padding:9px 13px!important;
  text-decoration:underline!important; text-underline-offset:3px!important;
  opacity:1!important; box-shadow:none!important;
}
html body #romi-cookie .romi-cookie__copy a:hover,
html body #romi-cookie .romi-cookie__copy a:focus-visible {background:#fff5e8!important; border-color:#fff5e8!important;}

/* v1.0.16: mobile panel stays scrollable and respects safe-area insets. */
html body #romi-cookie.romi-cookie{max-height:min(82vh,700px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){html body #romi-cookie.romi-cookie{bottom:max(10px,env(safe-area-inset-bottom));padding:16px;max-height:76vh}}

/* v1.0.19: cookie preferences belong IN the footer, never cover copyright. */
.romi-page-footer .romi-legal.romi-legal--has-cookie-settings{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;}
html body .romi-page-footer .romi-cookie-settings.romi-cookie-settings--footer{position:static!important;inset:auto!important;transform:none!important;box-shadow:none!important;border:1px solid #eadcc8!important;background:transparent!important;color:#f5e5d1!important;padding:9px 16px!important;font:600 13px/1.3 system-ui,-apple-system,'Segoe UI',sans-serif!important;opacity:1!important;z-index:auto!important;margin:0!important;white-space:normal!important;min-height:40px;}
html body .romi-page-footer .romi-cookie-settings.romi-cookie-settings--footer:hover{background:#eadcc8!important;color:#101820!important;}
html body .romi-page-footer .romi-cookie-settings.romi-cookie-settings--footer:focus-visible{outline:3px solid #eadcc8!important;outline-offset:3px!important;}
@media(max-width:700px){
  .romi-page-footer .romi-legal.romi-legal--has-cookie-settings{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:calc(98px + env(safe-area-inset-bottom,0px));}
  html body .romi-page-footer .romi-cookie-settings.romi-cookie-settings--footer{order:0;max-width:100%;}
  .romi-page-footer .romi-legal-copy{order:1;display:block;line-height:1.6;max-width:100%;}
  .romi-back-top{right:15px!important;bottom:calc(102px + env(safe-area-inset-bottom,0px))!important;}
}
@media(prefers-reduced-motion:reduce){.romi-back-top{transition:none!important;}}


/* v1.0.20: compact in-flow footer settings; reserve horizontal clearance for floating up control. */
@media (max-width: 700px) {
  html body .romi-page-footer .romi-legal.romi-legal--has-cookie-settings {
    gap: 13px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    align-items: flex-start;
  }
  html body .romi-page-footer .romi-cookie-settings.romi-cookie-settings--footer {
    font-size: 13px !important;
    padding: 10px 15px !important;
    min-height: 42px !important;
  }
  html body .romi-page-footer .romi-legal-copy {
    padding-right: min(68px, 19vw);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    line-height: 1.55;
    color: #b8c0c3;
  }
  html body .romi-back-top {
    right: 16px !important;
    bottom: calc(110px + env(safe-area-inset-bottom, 0px)) !important;
    height: 44px;
    width: 44px;
    box-shadow: 0 6px 18px #0005;
  }
}
@media(max-width:360px) {
  html body .romi-page-footer .romi-legal-copy { padding-right: 56px; }
}

/* Very narrow phones: float the scroll arrow clear of two-line copyright. */
@media (max-width: 359px) {
  html body .romi-back-top { bottom: calc(160px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* v1.0.21: desktop footer balance; do not allow fixed WhatsApp to hide copyright.
   Keep Cookie settings in normal document flow and centre the copyright in the safe region. */
@media (min-width: 701px) {
  html body .romi-page-footer .romi-legal.romi-legal--has-cookie-settings {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
    padding-right: clamp(140px, 13vw, 220px); /* room for floating WhatsApp */
  }
  html body .romi-page-footer .romi-legal-copy {
    display: block;
    min-width: 0;
    justify-self: center;
    text-align: center;
    line-height: 1.6;
    color: #b8c0c3;
    overflow-wrap: anywhere;
  }
  html body .romi-back-top {
    bottom: 116px;
    right: 23px;
  }
}
/* Narrow desktop/tablet: copyright wraps within the safe area instead of colliding with floats. */
@media (min-width: 701px) and (max-width: 960px) {
  html body .romi-page-footer .romi-legal.romi-legal--has-cookie-settings {
    padding-right: 150px;
    gap: 18px;
  }
  html body .romi-page-footer .romi-legal-copy { text-align: left; }
}
/* Preserve the v1.0.20 in-flow mobile arrangement and its non-overlapping safety clearance. */
