/* LuckHaus F63-HF2 · Visual Core + Public Checkout
   Final cascade layer. Visual/UX only; no commercial rules changed. */

:root{--f64-purple:#6d28d9;--f64-purple-2:#9747ff;--f64-ink:#24112f;--f64-muted:#76667d;--f64-line:#e6d8ee;--f64-soft:#faf7fd}

/* HF2-A · fixes confirmed by the senior visual audit. */
body.luckhaus-theme .toast{
  position:relative!important;
  padding:13px 15px 13px 46px!important;
  overflow-wrap:anywhere;
}
body.luckhaus-theme .toast:before{left:14px!important}
@media(max-width:760px){
  body.f61-modern-ui .list-search-card label{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
  }
  body.luckhaus-theme .settings-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:5px!important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  body.luckhaus-theme .settings-tabs button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max(88px,44px)!important;
    min-height:44px!important;
    padding:9px 14px!important;
    white-space:nowrap!important;
    text-align:center!important;
    scroll-snap-align:start;
  }
}

/* HF2-B · public pages stay light regardless of legacy color-scheme layers. */
html.public-light-root,
html:has(body.public-buy-page),
html:has(body.public-request-status-page){
  background:#f8f4fc!important;
  color-scheme:light!important;
}
body.public-buy-page,
body.public-request-status-page{
  margin:0!important;
  min-height:100vh!important;
  color-scheme:light!important;
  color:var(--f64-ink)!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(168,85,247,.10),transparent 28%),
    linear-gradient(180deg,#faf7fd 0%,#ffffff 52%,#f7f2fc 100%)!important;
}
body.public-buy-page :where(input,select,textarea,button),
body.public-request-status-page :where(input,select,textarea,button){
  color-scheme:light!important;
}
body.public-buy-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea),
body.public-request-status-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:#fff!important;
  color:#2b1536!important;
  border-color:#d9cbe2!important;
}
body.public-buy-page :where(.public-checkout-step,.public-module-panel,.public-buyer-data),
body.public-request-status-page :where(.public-status-card,.public-reservation-payment){
  background:#fff!important;
  color:var(--f64-ink)!important;
}
.public-flashes .flash{
  padding:12px 14px;
  border:1px solid #e2d6e9;
  border-radius:13px;
  background:#fff;
  color:#382440;
  box-shadow:0 8px 22px rgba(58,28,71,.07);
}
.public-flashes .flash.success{border-color:#bce4d0;background:#effbf5;color:#126941}
.public-flashes .flash.error{border-color:#efc4cb;background:#fff3f5;color:#9f293b}

/* Approved Plin banner: use the single first reference image in both public checkout steps. */
.public-plin-banner-card{
  display:grid;gap:10px;justify-items:center;width:100%;padding:14px;
  border:1px solid #e2d3ed;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#faf6ff 100%);
  color:#32173f;box-shadow:0 9px 24px rgba(66,29,91,.06);
}
.public-plin-banner-card img{
  display:block;width:min(100%,500px);height:auto;border-radius:14px;border:1px solid #2b2140;background:#050505;
  box-shadow:0 8px 22px rgba(35,16,48,.16);
}
.public-plin-banner-card p{margin:0;max-width:620px;color:#75637c;font-size:.8rem;line-height:1.5;text-align:center}
.public-plin-banner-card--checkout{margin:4px 0 2px}
.public-plin-banner-card--status{margin:16px 0 12px}

/* Payment status becomes the simple sequence: guide -> details -> receipt. */
.public-request-status-shell{width:min(780px,calc(100% - 24px))!important}
.public-status-card{padding:clamp(18px,3vw,30px)!important}
.public-reservation-payment{
  gap:14px!important;padding:18px!important;border:1px solid #dfcbea!important;
  border-radius:19px!important;background:#fff!important;box-shadow:0 9px 24px rgba(66,29,91,.06);
}
.public-reservation-payment-head{justify-content:flex-start}
.public-reservation-payment-grid{gap:10px!important}
.public-reservation-payment-grid>div{
  min-height:82px;padding:13px!important;border:1px solid #e5d8eb!important;
  border-radius:14px!important;background:#fff!important;text-align:center;
}
.public-reservation-payment-grid small{font-size:.7rem!important;color:#74637b!important}
.public-reservation-payment-grid strong{font-size:1rem!important;color:#2b1039!important}
.public-reservation-payment #copyReservedPayment{
  min-height:50px!important;border:0!important;
  background:linear-gradient(135deg,#5b21b6,#8b5cf6)!important;
  color:#fff!important;font-size:.92rem!important;font-weight:900!important;
  box-shadow:0 10px 22px rgba(109,40,217,.22)!important;
}
.public-proof-after-reservation{gap:14px!important;margin-top:16px!important;padding-top:0!important}
.public-payment-reference{display:none!important}
.public-proof-upload{
  min-height:102px!important;padding:16px!important;border:2px dashed #c5a4df!important;
  border-radius:18px!important;background:#fcf9ff!important;color:#32173f!important;
}
.public-proof-upload>span{background:#eee2f8!important;color:#6d28d9!important}
.public-proof-upload strong{font-size:1rem!important;color:#32173f!important}
.public-proof-upload small{font-size:.76rem!important;color:#78677f!important}
.public-proof-upload>b{padding:10px 15px!important;border-radius:11px!important;background:#6d28d9!important;color:#fff!important;font-size:.76rem!important}
.public-proof-after-reservation>.btn.primary{
  min-height:52px!important;background:linear-gradient(135deg,#5b21b6,#9347f5)!important;
  color:#fff!important;font-weight:900!important;
}

@media(max-width:700px){
  .public-plin-preview{grid-template-columns:1fr;gap:10px;padding:12px}
  .public-plin-preview div{text-align:center}
  .public-plin-guide{grid-template-columns:auto 1fr;gap:12px;padding:14px}
  .public-plin-guide__contact{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px dashed #d8c0eb}
  .public-plin-logo{width:61px;height:56px;font-size:1.35rem}
  .public-plin-guide__payment strong{font-size:1.3rem}
  .public-plin-guide__payment span{font-size:.73rem}
  .public-reservation-payment-grid{grid-template-columns:1fr!important}
  .public-proof-upload{grid-template-columns:42px 1fr!important}
  .public-proof-upload>b{grid-column:1/-1;text-align:center}
}
@media(max-width:430px){
  .public-plin-guide{grid-template-columns:1fr;text-align:center}
  .public-plin-guide__brand{justify-content:center}
  .public-plin-guide__contact{justify-content:center}
  .public-plin-guide__payment strong{font-size:1.25rem}
  .public-request-status-shell{width:min(100% - 16px,780px)!important}
}

/* Defensive: no legacy dark block can leak into the public payment route. */
.public-request-status-page :where(.public-status-card,.public-reservation-payment,.public-proof-after-reservation,.public-proof-upload),
.public-buy-page :where(.public-buy-brand,.public-checkout-step,.public-module-panel,.public-buyer-data,.public-plin-guide){
  color-scheme:light!important;
}
