/* PK37: align desktop scene, header and navigation to one canvas width. */
#parkingV2.pk01 .parking-v2-shell{width:100%!important;max-width:592px!important;margin-inline:auto!important;box-sizing:border-box!important;overflow:hidden!important;}
#parkingV2.pk01 .parking-v2-scene{width:100%!important;max-width:100%!important;margin-inline:0!important;box-sizing:border-box!important;}
#parkingV2.pk01 .parking-v2-header{width:100%!important;max-width:592px!important;margin-inline:0!important;box-sizing:border-box!important;}
body:has(#parkingV2.pk01:not([hidden])) #nav.bottom-nav{width:min(100%,592px)!important;max-width:592px!important;box-sizing:border-box!important;}
/* PK36: desktop scene owns its intro and the car wrapper owns positioning. */
#parkingV2.pk01 .parking-v2-scene{position:relative!important;}
#parkingV2.pk01 .pk01-car #parkingV2Car{left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;margin:0!important;translate:none;rotate:none;scale:none;}
#parkingV2.pk01 .parking-v2-scene>.pk14-intro{left:7%;top:100px;width:calc(86% - 78px);max-width:350px;}
#parkingV2.pk01 .parking-v2-profile{display:none!important;}
@media(min-width:700px){
 #parkingV2.pk01 .pk01-car{width:min(78%,480px)!important;bottom:215px!important;}
}
/* PK55: compact multilingual take-car confirmation; dialog exists only while open. */
.pk33-modal{
 position:fixed;inset:0;z-index:100000;
 display:flex;align-items:center;justify-content:center;
 padding:20px 22px;box-sizing:border-box;
 background:rgba(0,10,19,.72);
}
.pk33-modal section{
 box-sizing:border-box;
 width:min(100%,318px);
 max-height:78vh;
 overflow:auto;
 padding:18px 16px 16px;
 border:1px solid #39738b;
 border-radius:16px;
 background:#062232;
 color:#fff;
 box-shadow:0 12px 36px #0008;
 font-size:12px;
 line-height:1.6;
 overflow-wrap:anywhere;
 word-break:normal;
}
.pk33-modal h2{
 margin:0 0 12px;
 color:#ffd54b;
 font-size:18px;
 line-height:1.3;
 font-weight:700;
 overflow-wrap:anywhere;
}
.pk33-modal p{
 margin:8px 0;
 max-width:100%;
 overflow-wrap:anywhere;
 word-break:normal;
}
.pk33-modal .pk33-duration{
 color:#b9e6f8;
 font-size:12px;
}
.pk33-modal .pk33-notice{
 color:#fff;
 font-size:12px;
 line-height:1.65;
}
.pk33-modal .pk33-notice.eligible{
 color:#bfead8;
}
.pk33-modal .pk33-error{
 margin-top:6px;
 color:#ffb5a5;
 font-size:11px;
}
.pk33-modal .pk33-actions{
 display:flex;
 gap:10px;
 margin-top:16px;
}
.pk33-modal button{
 flex:1;
 min-width:0;
 min-height:42px;
 padding:7px 8px;
 border:1px solid #39738b;
 border-radius:11px;
 background:#10354a;
 color:#fff;
 font-size:12px;
 line-height:1.2;
 font-weight:500;
 cursor:pointer;
 white-space:normal;
 overflow-wrap:anywhere;
}
.pk33-modal .pk33-confirm{
 background:#ffd54b;
 color:#082332;
 border-color:#ffd54b;
 font-weight:600;
}
.pk33-modal button:disabled{opacity:.6;cursor:wait;}
.pk33-modal button:focus-visible{outline:2px solid #fff;outline-offset:2px;}
@media(max-width:360px){
 .pk33-modal{padding:16px 18px;}
 .pk33-modal section{width:min(100%,300px);padding:16px 14px 14px;font-size:11px;}
 .pk33-modal h2{font-size:17px;}
 .pk33-modal .pk33-duration,.pk33-modal .pk33-notice,.pk33-modal button{font-size:11px;}
 .pk33-modal button{min-height:40px;}
}

/* PK14: live translated introduction below the parking header. */
.pk01 .pk14-intro{position:absolute;z-index:7;left:20px;top:100px;width:calc(100% - 112px);max-width:350px;box-sizing:border-box;pointer-events:none;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.85);}
.pk01 .pk14-intro h2{margin:0 0 9px;font-size:20px;line-height:1.4;font-weight:700;overflow-wrap:anywhere;}
.pk01 .pk14-intro p{margin:0;font-size:12px;line-height:1.8;font-weight:400;overflow-wrap:anywhere;}
@media(max-width:360px){.pk01 .pk14-intro{left:16px;width:calc(100% - 100px);top:96px;}.pk01 .pk14-intro h2{font-size:17px;}.pk01 .pk14-intro p{font-size:11px;}}
.pk01 .pn-thumb,.pk01 .parking-v2-thumb{display:none!important;}
.pk01 .pk09-vehicle{justify-content:center;padding-right:0!important;gap:0!important;}
.pk01 .pn-copy,.pk01 .parking-v2-car-copy{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.pk01 #pnHint,.pk01 #parkingV2CarHint{display:inline-block!important;max-width:100%;box-sizing:border-box;white-space:normal;}
.pk01 .pn-copy>small,.pk01 .parking-v2-car-copy>small{display:none!important;}
.pk01 .pn-buttons,.pk01 .parking-v2-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;}
.pk01 .pn-buttons button,.pk01 .parking-v2-actions button{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 5px!important;border-radius:15px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;line-height:18px!important;white-space:nowrap!important;letter-spacing:normal!important;}
@media(max-width:360px){.pk01 .pn-buttons,.pk01 .parking-v2-actions{gap:5px!important;}.pk01 .pn-buttons button,.pk01 .parking-v2-actions button{font-size:11px!important;padding:0 3px!important;}}
.pk01 .pn-card,.pk01 .parking-v2-car-card{height:auto!important;min-height:64px!important;padding:6px!important;border-radius:16px!important;}
.pk01 .pn-thumb,.pk01 .parking-v2-thumb{width:36px!important;height:44px!important;flex:0 0 36px!important;border-radius:9px!important;}
.pk01 .pn-card,.pk01 .parking-v2-car-card{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:6px!important;}
.pk01 .pk09-vehicle{display:flex;align-items:center;gap:6px;min-width:0;padding-right:5px;}
.pk01 .pn-copy,.pk01 .parking-v2-car-copy{min-width:0!important;flex:1!important;}
.pk01 .pn-copy strong,.pk01 .parking-v2-car-copy strong{overflow-wrap:anywhere;}
.pk01 .pn-income,.pk01 .parking-v2-income{display:flex!important;position:relative;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;min-width:0!important;text-align:center!important;padding:0 5px!important;box-sizing:border-box;}
.pk01 .pn-income::before,.pk01 .parking-v2-income::before{content:"";position:absolute;left:0;top:10%;height:80%;width:1px;background:linear-gradient(transparent,rgba(153,210,232,.4),transparent);box-shadow:0 0 3px rgba(153,210,232,.22);pointer-events:none;}
.pk01 .pn-income small,.pk01 .parking-v2-income small{font-size:9px!important;line-height:14px!important;white-space:normal!important;}
.pk01 .pn-income b,.pk01 .parking-v2-income b{margin-top:6px!important;max-width:100%;overflow-wrap:anywhere;}
.pk01 .pn-more,.pk01 .parking-v2-more{position:absolute!important;right:1px!important;top:50%!important;transform:translateY(-50%)!important;width:20px!important;min-width:0!important;padding:0!important;font-size:23px!important;}
.pk01 .pn-income:last-of-type,.pk01 .parking-v2-income:last-of-type{padding-right:17px!important;}
.pk01 .pn-copy small,.pk01 .pn-copy strong,.pk01 .parking-v2-car-copy small,.pk01 .parking-v2-car-copy strong{font-size:10px!important;line-height:14px!important;}
.pk01 .pn-copy strong,.pk01 .parking-v2-car-copy strong{margin:3px 0 5px!important;}
.pk01 .pn-actions,.pk01 .parking-v2-quick{right:12px!important;gap:7px!important;display:flex!important;flex-direction:column!important;transform:none!important;}
.pk01 .pn-actions button,.pk01 .parking-v2-quick button{box-sizing:border-box!important;width:56px!important;min-width:56px!important;max-width:56px!important;height:48px!important;min-height:48px!important;padding:5px 4px!important;border-radius:13px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;}
.pk01 .pn-actions button strong,.pk01 .parking-v2-quick button b{display:block!important;margin:0!important;font-size:15px!important;line-height:16px!important;}
.pk01 .pn-actions button span,.pk01 .parking-v2-quick button span{display:block!important;margin:0!important;font-size:11px!important;line-height:14px!important;white-space:nowrap!important;}
.pk01 .pk01-car{display:none!important;pointer-events:none;position:absolute!important;left:50%!important;top:auto!important;bottom:240px!important;width:min(72%,416px)!important;height:auto!important;aspect-ratio:3 / 2;transform:translateX(-50%)!important;z-index:6!important;isolation:isolate;}
.pk01 .pk01-car.pk01-visible{display:block!important}
.pk01 .pk01-car img{position:static!important;display:block!important;width:100%!important;height:auto!important;max-height:none!important;transform:none!important;object-fit:contain!important;filter:drop-shadow(0 10px 8px #0006);}
.pk01 .pk01-car img.pk01-tesla{position:relative!important;z-index:2;clip-path:none!important;filter:brightness(.94) saturate(.92) drop-shadow(0 3px 2px #0005);}
/* Ground contact is a separate layer; it disappears with the parked vehicle. */
.pk01 .pk01-car:has(img.pk01-tesla)::before{content:"";position:absolute;z-index:0;pointer-events:none;left:6%;top:77%;width:88%;height:16%;border-radius:50%;background:radial-gradient(ellipse,rgba(4,8,13,.55) 0%,rgba(4,8,13,.3) 40%,rgba(4,8,13,0) 73%);filter:blur(3px);}
.pk01 .pk01-car:has(img.pk01-tesla)::after{content:"";position:absolute;z-index:1;pointer-events:none;inset:0;background:radial-gradient(ellipse 6% 2.2% at 9% 74%,rgba(0,0,0,.7),transparent),radial-gradient(ellipse 8% 2.5% at 44% 91%,rgba(0,0,0,.8),transparent),radial-gradient(ellipse 6% 2% at 88% 87%,rgba(0,0,0,.6),transparent);}
.pk01 .pk01-car .parking-v2-ground-shadow,.pk01 .pk01-car .parking-v2-scene-hint{display:none!important}
.pk01 .parking-v2-bg{background-image:url('../mobile/assets/parking-luxury-hotel-bg-v1.jpg')!important}
.pk01 .pk01-select{display:block;max-width:100%;width:100%;font-size:12px;background:#062638;color:#fff;border:1px solid #4596ad;border-radius:6px;margin-top:5px}
.pk01 .pk01-select[hidden]{display:none}
.pk01 .pk01-retry{display:block;border:0;background:transparent;color:#9edcee;padding:3px 0;font-size:10px;cursor:pointer}
.pk01 .pn-title{display:none}
.pk01 .pk01-car.pk01-enter{animation:pk01-drive 1.25s ease-out both}
@keyframes pk01-drive{from{translate:90% 0;opacity:0}to{translate:0 0;opacity:1}}
@media(max-width:430px){.pk01 .pk01-car{bottom:210px!important}}
@media(prefers-reduced-motion:reduce){.pk01 .pk01-car.pk01-enter{animation:none}}
.pk01 .pk01-car.pk17-seal08::after{background:radial-gradient(ellipse 6% 2.2% at 9% 72%,rgba(0,0,0,.7),transparent),radial-gradient(ellipse 8% 2.5% at 47% 86.5%,rgba(0,0,0,.8),transparent),radial-gradient(ellipse 6% 2% at 88% 81.5%,rgba(0,0,0,.6),transparent)!important;}


/* PK38: mobile parking scene anchor fix.
   The background and parked vehicle now share one stable percentage-based scene,
   so different phone heights do not move the car onto the fountain. No elements
   are hidden or removed here. Also tighten the real mobile card/action gap. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-bg{
    background-position:center top!important;
    background-size:100% 100%!important;
    background-repeat:no-repeat!important;
  }
  #parkingNew.parking-new-page.pk01 .pk01-car{
    left:45.5%!important;
    top:58.0%!important;
    bottom:auto!important;
    width:min(72vw,416px)!important;
    height:auto!important;
    transform:translate(-50%,-50%)!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-card{
    bottom:70px!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-buttons{
    bottom:8px!important;
  }
}
@media(max-width:699px) and (max-height:820px){
  #parkingNew.parking-new-page.pk01 .pk01-car{
    top:57.0%!important;
  }
}
@media(max-width:699px) and (max-height:760px){
  #parkingNew.parking-new-page.pk01 .pk01-car{
    top:56.2%!important;
  }
}
@media(max-width:360px){
  #parkingNew.parking-new-page.pk01 .pk01-car{
    left:45%!important;
    width:70vw!important;
  }
}
/* PK45: mobile compact lower panels. Only reduce heights; layout/positions remain unchanged. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-card{
    min-height:54px!important;
    padding:4px 6px!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-buttons button{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
}

/* PK46: unify parking button typography across Android and iOS.
   Use one mobile size/weight instead of device-width-specific font sizing. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-buttons button,
  #parkingNew.parking-new-page.pk01 .parking-v2-actions button{
    font-size:12px!important;
    line-height:18px!important;
    font-weight:600!important;
    font-family:Arial,"Helvetica Neue",sans-serif!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }
  #parkingNew.parking-new-page.pk01 .pn-actions button,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button{
    font-family:Arial,"Helvetica Neue",sans-serif!important;
    font-weight:600!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
  }
  #parkingNew.parking-new-page.pk01 .pn-actions button strong,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button b{
    font-weight:600!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-actions button span,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button span{
    font-size:11px!important;
    line-height:14px!important;
    font-weight:600!important;
  }
}
@media(max-width:360px){
  #parkingNew.parking-new-page.pk01 .pn-buttons button,
  #parkingNew.parking-new-page.pk01 .parking-v2-actions button{
    font-size:12px!important;
    padding:0 3px!important;
  }
}


/* PK50: mobile parking duration nudged slightly upward to align with the hotel-name stone area.
   No other layout changed.

/* PK49: mobile parking duration moved down to the hotel-name area on the left side.
   Position only; keep the prior page/vehicle layout unchanged.

   Previous note:
   Keep the prior page/vehicle layout unchanged. Sign-in, upgrade and
   parking-duration typography intentionally use regular weight. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-actions button,
  #parkingNew.parking-new-page.pk01 .pn-actions button strong,
  #parkingNew.parking-new-page.pk01 .pn-actions button span,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button b,
  #parkingNew.parking-new-page.pk01 .parking-v2-quick button span{
    font-weight:400!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-duration-left{
    position:absolute!important;
    z-index:12!important;
    left:4px!important;
    top:36.5%!important;
    box-sizing:border-box!important;
    width:78px!important;
    height:48px!important;
    min-height:48px!important;
    padding:5px 4px!important;
    border:1px solid rgba(35,180,255,.28)!important;
    border-radius:15px!important;
    background:rgba(3,30,52,.94)!important;
    color:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    text-align:center!important;
    font-family:Arial,"Helvetica Neue",sans-serif!important;
    font-weight:400!important;
    box-shadow:none!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    -webkit-font-smoothing:antialiased;
  }
  #parkingNew.parking-new-page.pk01 .pn-duration-left small{
    display:block!important;
    font-size:10px!important;
    line-height:13px!important;
    font-weight:400!important;
    color:#fff!important;
    white-space:nowrap!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-duration-left b{
    display:block!important;
    font-size:12px!important;
    line-height:15px!important;
    font-weight:400!important;
    color:#ffd34d!important;
    font-variant-numeric:tabular-nums!important;
    white-space:nowrap!important;
  }
}


/* PK51: mobile income numbers match parking-duration value styling. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-income b,
  #parkingNew.parking-new-page.pk01 .parking-v2-income b{
    font-size:12px!important;
    line-height:15px!important;
    font-weight:400!important;
    color:#ffd34d!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    -webkit-font-smoothing:antialiased;
    font-variant-numeric:tabular-nums!important;
  }
}


/* PK52: slightly reduce the two lower mobile parking panels. */
@media(max-width:699px){
  #parkingNew.parking-new-page.pk01 .pn-card{
    min-height:54px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }
  #parkingNew.parking-new-page.pk01 .pn-buttons button{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
}
