/* RentalOpsLab v4.3: one shared footer for every public page. */
.rol-footer { background:#05131c; color:#f2fafb; border-top:1px solid rgba(174,243,234,.12); font-family:'DM Sans',system-ui,sans-serif; font-size:16px; position:relative; }
.rol-footer, .rol-footer * { box-sizing:border-box; }
.rol-footer__inner { width:min(1210px, calc(100% - 88px)); margin-inline:auto; }
.rol-footer__grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(170px,1fr) minmax(170px,1fr); gap:30px; padding:65px 0 72px; }
.rol-footer__brand { display:inline-flex; width:max-content; max-width:100%; font-size:24px; color:#f2fafb; text-decoration:none; }
.rol-footer__brand .brand-mark { flex-shrink:0; }
.rol-footer__identity p { margin:16px 0 14px; line-height:1.8; color:#9fb9bf; font-size:13px; }
.rol-footer__email { display:inline-block; color:#67e6cd; font-size:13px; font-weight:700; text-decoration:none; overflow-wrap:anywhere; }
.rol-footer__column { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.rol-footer__column strong { font-size:10px; letter-spacing:2px; color:#e9f8f8; margin-bottom:9px; }
.rol-footer__column a { color:#a5bcc3; font-size:13px; line-height:1.55; text-decoration:none; }
.rol-footer__column a:hover, .rol-footer__email:hover, .rol-footer__bottom button:hover { color:#05e5c1; }
.rol-footer__bottom { padding:24px 0; border-top:1px solid rgba(174,243,234,.12); display:flex; justify-content:space-between; align-items:center; gap:18px; color:#8da9b0; font-size:11px; line-height:1.6; }
.rol-footer__bottom-links { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.rol-footer__bottom-links span:last-child { letter-spacing:1.3px; font-size:10px; }
.rol-footer__bottom button { font:inherit; font-size:11px; color:#b3d4d7; background:transparent; padding:0; border:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.rol-footer a:focus-visible, .rol-footer button:focus-visible { outline:2px solid #05e5c1; outline-offset:4px; }
@media (max-width:850px){
  .rol-footer__inner {width:min(1210px, calc(100% - 46px));}
  .rol-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 18px; padding:50px 0; }
  .rol-footer__identity {grid-column:1/-1;}
  .rol-footer__bottom {align-items:flex-start; flex-direction:column; gap:10px;}
}
@media (max-width:420px){
  .rol-footer__inner {width:calc(100% - 38px)}
  .rol-footer__grid { gap:32px 16px; }
  .rol-footer__column a {font-size:12px;}
  .rol-footer__brand {font-size:21px;}
  .rol-footer__bottom-links {gap:9px;}
}
