.razo-address-detail-page,
.razo-address-detail-page *{box-sizing:border-box}
.razo-address-detail-page{--razo-detail-primary:#0099ff;position:relative;left:50%;display:flex;flex-direction:column;width:100vw;max-width:none;min-height:100vh;margin:0 0 0 -50vw;background:#f4f7fb;color:#171b21;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.razo-address-detail-header{position:relative;z-index:6;flex:0 0 69px;height:69px;background:var(--razo-detail-primary);color:#fff}
.razo-address-detail-header>div{display:flex;align-items:center;gap:24px;width:min(100%,1600px);height:100%;margin:0 auto;padding:0 76px}
.razo-address-detail-header a{display:grid;width:28px;height:40px;color:#fff;text-decoration:none;place-items:center}
.razo-address-detail-header a svg{width:27px;height:27px;stroke-width:2}
.razo-address-detail-header strong{font-size:22px;font-weight:600;letter-spacing:-.01em}
.razo-address-detail-main{position:relative;flex:1 0 720px;width:100%;max-width:none;min-height:720px;margin:0;overflow:hidden;background:#eef1f5}
.razo-address-detail-map-wrap{position:absolute;z-index:1;inset:0;overflow:hidden;background:#eef1f5}
.razo-address-detail-map{position:absolute;inset:0;background-color:#eef1f5;background-image:linear-gradient(90deg,rgba(202,208,216,.8) 1px,transparent 1px),linear-gradient(rgba(202,208,216,.8) 1px,transparent 1px),linear-gradient(35deg,transparent 46%,rgba(255,255,255,.92) 47%,rgba(255,255,255,.92) 53%,transparent 54%);background-size:84px 84px,84px 84px,260px 260px;filter:saturate(.8)}
.razo-address-detail-map.is-ready{background:none;filter:none}
.razo-address-detail-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#eef1f5}
.razo-address-detail-map-credit{position:absolute;z-index:2;bottom:8px;left:8px;padding:3px 7px;border-radius:4px;background:rgba(255,255,255,.92);color:#29445a!important;font-size:10px;font-weight:600;text-decoration:none!important;box-shadow:0 1px 4px rgba(30,48,67,.18)}
.razo-address-detail-map-pin{position:absolute;z-index:3;top:50%;left:50%;width:72px;height:72px;padding:15px;color:#fff;filter:drop-shadow(0 9px 13px rgba(0,112,193,.35));transform:translate(-50%,-72%);pointer-events:none}
.razo-address-detail-map-pin:before{position:absolute;z-index:-1;inset:4px;display:block;border-radius:50% 50% 50% 5px;background:var(--razo-detail-primary);content:"";transform:rotate(-45deg)}
.razo-address-detail-map-pin svg{width:100%;height:100%;stroke-width:1.7;transform:translateY(-2px)}
.razo-address-detail-panel{position:absolute;z-index:4;top:35px;right:36px;bottom:35px;width:min(506px,calc(100% - 72px));padding:31px 27px;border:1px solid #b8c5d3;border-radius:12px;background:rgba(247,249,253,.97);box-shadow:0 12px 32px rgba(31,55,81,.14);overflow:auto}
.razo-address-detail-location{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start}
.razo-address-detail-location-icon{display:grid;width:48px;height:52px;border-radius:9px;background:#e6ebf1;color:#0076bd;place-items:center}
.razo-address-detail-location-icon svg{width:29px;height:29px}
.razo-address-detail-location h1{margin:0 0 7px;font-size:22px;line-height:1.2;font-weight:750;letter-spacing:-.02em}
.razo-address-detail-location p{margin:0;color:#46505e;font-size:15px;line-height:1.55}
.razo-address-detail-rule{height:1px;margin:30px 0;background:#d7dee7}
.razo-address-detail-error{margin:0 0 18px;padding:11px 14px;border-radius:8px;background:#fff0ef;color:#b42318;font-size:14px;line-height:1.45}
.razo-address-detail-field{margin:0 0 25px}
.razo-address-detail-field label{display:block;margin:0 0 10px;color:#20242b;font-size:15px;font-weight:700}
.razo-address-detail-form input{display:block;width:100%;height:55px;margin:0;padding:0 18px;border:1px solid #b6c3d2;border-radius:0;background:#f8faff;color:#171b21;font:inherit;font-size:16px;outline:none;box-shadow:none}
.razo-address-detail-form input::placeholder{color:#7b8491;opacity:1}
.razo-address-detail-form input:focus{border-color:var(--razo-detail-primary);box-shadow:0 0 0 3px rgba(0,153,255,.13)}
.razo-address-detail-form button{display:flex;align-items:center;justify-content:center;width:100%;min-height:55px;margin-top:27px;padding:13px 24px;border:0;border-radius:999px;background:var(--razo-detail-primary);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(0,153,255,.22)}
.razo-address-detail-form button:hover{filter:brightness(.96)}
.razo-address-detail-form button:disabled{cursor:wait;opacity:.72}
.razo-address-detail-footer{flex:0 0 39px;min-height:39px;background:var(--razo-detail-primary)}
.razo-address-detail-login{width:min(100% - 32px,620px);margin:70px auto;padding:38px;border:1px solid #d3dce6;border-radius:14px;background:#fff;text-align:center}
.razo-address-detail-login p{margin:0 0 20px;font-size:18px}
.razo-address-detail-login a{display:inline-flex;min-height:46px;align-items:center;padding:10px 24px;border-radius:999px;background:#0099ff;color:#fff;font-weight:700;text-decoration:none}
@media(max-width:1024px){.razo-address-detail-header>div{padding:0 36px}.razo-address-detail-main{width:100%}.razo-address-detail-panel{right:20px;width:min(460px,calc(100% - 40px))}}
@media(max-width:760px){.razo-address-detail-header{flex-basis:60px;height:60px}.razo-address-detail-header>div{gap:14px;padding:0 18px}.razo-address-detail-header strong{font-size:19px}.razo-address-detail-main{display:flex;flex:0 0 auto;flex-direction:column;width:100%;min-height:0;padding:0 12px 20px;background:#f4f7fb;overflow:visible}.razo-address-detail-map-wrap{position:relative;inset:auto;width:calc(100% + 24px);height:310px;margin-left:-12px}.razo-address-detail-map-pin{width:62px;height:62px}.razo-address-detail-panel{position:relative;inset:auto;width:100%;min-height:0;margin:-1px 0 0;padding:24px 18px 28px;border-radius:0 0 12px 12px;box-shadow:none;overflow:visible}.razo-address-detail-location{grid-template-columns:44px minmax(0,1fr);gap:13px}.razo-address-detail-location-icon{width:44px;height:46px}.razo-address-detail-location-icon svg{width:25px;height:25px}.razo-address-detail-location h1{font-size:20px}.razo-address-detail-location p{font-size:14px}.razo-address-detail-rule{margin:24px 0}.razo-address-detail-field{margin-bottom:20px}.razo-address-detail-form input{height:52px;font-size:15px}.razo-address-detail-form button{min-height:53px;margin-top:20px}.razo-address-detail-footer{flex-basis:20px;min-height:20px}}

/* Desktop: remove the map background and keep the form card centered. */
@media(min-width:761px){
/* Only ancestors of this shortcode: leave the form, mobile, and other pages alone.
 * Covers theme containers and both classic/new Elementor wrappers, including
 * their inline spacing. Do not reset html's WordPress admin-toolbar offset. */
body:has(.razo-address-detail-page),
body :has(.razo-address-detail-page){
  --theme-content-vertical-spacing:0px;
  --padding-top:0px;
  --padding-bottom:0px;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
}
.razo-address-detail-page{margin-top:0!important;margin-bottom:0!important}
.razo-address-detail-page{background:#fff}
.razo-address-detail-page>.razo-address-detail-header,
.razo-address-detail-page>.razo-address-detail-footer{display:none!important}
.razo-address-detail-main{display:flex;align-items:center;justify-content:center;flex:1 0 auto;min-height:100vh;padding:35px 24px;background:#fff}
.razo-address-detail-map-wrap{display:none}
.razo-address-detail-panel{position:relative;inset:auto;width:min(506px,100%);max-height:none;margin:auto;background:#fff;overflow:visible}
}

/* Mobile: isolate the component from full-width theme wrappers and prevent overflow. */
@media(max-width:760px){
.razo-address-detail-page{left:auto;width:100%;min-height:100vh;min-height:100svh;margin:0;overflow-x:hidden}
.razo-address-detail-page>.razo-address-detail-header,
.razo-address-detail-page>.razo-address-detail-footer{display:none!important}
.razo-address-detail-main{flex:1 0 auto;max-width:100%;margin:0;padding-top:16px}
.razo-address-detail-map-wrap{display:none!important}
.razo-address-detail-panel{flex:0 0 auto;max-width:100%;margin:0;border-radius:12px}
.razo-address-detail-form,.razo-address-detail-field{min-width:0;max-width:100%}
.razo-address-detail-form input{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none}
}
@media(prefers-reduced-motion:reduce){.razo-address-detail-page *{scroll-behavior:auto!important;transition:none!important}}
