/* =========================================================
   Stabling contract wizard (stabling-contract.html)
   Page-exclusive styles, kept in their own file rather than
   appended to the already-large shared style.css. Relies on
   the --v24-* custom properties defined by .home-v24 in
   style.css (this page also carries that body class), so the
   two files must always be loaded together.
   ========================================================= */

.v29-sc-wizard{padding:6.5rem 0}

.v29-sc-stepper{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:2.4rem 0 3rem;padding:0;counter-reset:none}
.v29-sc-stepper li{display:flex;align-items:center;gap:.5rem;padding:.55rem .9rem .55rem .6rem;border-radius:999px;background:var(--v24-cream);color:var(--v24-muted);font-size:.68rem;font-weight:800;cursor:pointer;transition:.2s;border:1px solid transparent}
.v29-sc-stepper li span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--v24-paper);border:1px solid var(--v24-line);font-size:.68rem;font-weight:900;color:var(--v24-muted)}
.v29-sc-stepper li.active{background:var(--v24-wine);color:#fff;border-color:var(--v24-wine)}
.v29-sc-stepper li.active span{background:#fff;color:var(--v24-wine);border-color:#fff}
.v29-sc-stepper li.done{background:var(--v24-paper);color:var(--v24-wine);border-color:var(--v24-gold)}
.v29-sc-stepper li.done span{background:var(--v24-gold);color:#fff;border-color:var(--v24-gold)}

.v29-sc-panelwrap{background:var(--v24-paper);border:1px solid var(--v24-line);border-radius:24px;padding:2.4rem;box-shadow:0 25px 55px rgba(64,39,24,.06)}
.v29-sc-panel{display:none}
.v29-sc-panel.active{display:block;animation:scfade .25s ease}
@keyframes scfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.v29-sc-hint{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:1.6rem;padding:.85rem 1rem;border-radius:12px;background:var(--v24-cream);color:var(--v24-muted);font-size:.72rem;line-height:1.9}
.v29-sc-hint i{margin-top:2px;color:var(--v24-gold-deep)}
.v29-sc-hint a{color:var(--v24-wine);font-weight:800;text-decoration:underline}

.v29-sc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1.4rem}
.v29-sc-field{display:flex;flex-direction:column;gap:.45rem}
.v29-sc-field-wide{grid-column:1/-1}
.v29-sc-field label{font-size:.7rem;font-weight:800;color:var(--v24-ink)}
.v29-sc-field label span{color:var(--v24-red)}
.v29-sc-field input,.v29-sc-field select{height:48px;padding:0 .9rem;border:1px solid var(--v24-line);border-radius:10px;background:#fff;color:var(--v24-ink);font-family:inherit;font-size:.78rem}
.v29-sc-field input:focus,.v29-sc-field select:focus{outline:none;border-color:var(--v24-gold)}
.v29-sc-field input[readonly]{background:var(--v24-cream);color:var(--v24-muted)}

.v29-sc-duration{margin-top:1.4rem;padding:.9rem 1rem;border-radius:12px;background:var(--v24-cream);font-size:.75rem;font-weight:800;color:var(--v24-wine)}
.v29-sc-note{display:flex;align-items:flex-start;gap:.5rem;margin-top:.9rem;color:var(--v24-muted);font-size:.68rem;line-height:1.9}

.v29-sc-amount{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.2rem;margin-bottom:1.6rem;border-radius:16px;border:1px dashed var(--v24-gold);background:linear-gradient(90deg,rgba(189,142,70,.08),rgba(189,142,70,.02))}
.v29-sc-amount-info{display:flex;flex-direction:column;gap:.5rem}
.v29-sc-amount-info label{font-size:.72rem;font-weight:800}
.v29-sc-lockbadge{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .7rem;border-radius:999px;background:var(--v24-wine);color:#fff;font-size:.6rem;font-weight:900;width:fit-content}
.v29-sc-lockbadge.light{background:var(--v24-gold-deep)}
.v29-sc-amount input{width:160px;height:50px;text-align:center;border-radius:10px;border:1px solid var(--v24-gold);background:#fff;font-size:1.1rem;font-weight:900;color:var(--v24-wine)}

.v29-sc-radiorow{display:flex;gap:1.4rem;margin-top:.3rem}
.v29-sc-radio{display:flex;align-items:center;gap:.5rem;font-size:.76rem;font-weight:700;cursor:pointer}
.v29-sc-radio input{width:18px;height:18px;accent-color:var(--v24-wine)}

.v29-sc-services-head{margin:2rem 0 1rem}
.v29-sc-services-head h3{font-size:1rem;font-weight:900;margin:0 0 .3rem}
.v29-sc-services-head p{margin:0;color:var(--v24-muted);font-size:.72rem}
.v29-sc-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.v29-sc-service{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--v24-line);border-radius:12px;cursor:pointer;transition:.2s}
.v29-sc-service:hover{border-color:var(--v24-gold)}
.v29-sc-service input{width:18px;height:18px;flex:none;accent-color:var(--v24-wine)}
.v29-sc-service span{flex:1;font-size:.72rem;font-weight:700}
.v29-sc-service b{font-size:.72rem;font-weight:900;color:var(--v24-wine);white-space:nowrap}

.v29-sc-total{display:flex;align-items:center;justify-content:space-between;margin-top:1.6rem;padding:1rem 1.3rem;border-radius:14px;background:var(--v24-wine);color:#fff}
.v29-sc-total span{font-size:.72rem;font-weight:700;opacity:.85}
.v29-sc-total strong{font-size:1.15rem;font-weight:900}

.v29-sc-sign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.v29-sc-sign-card{padding:1.4rem;border:1px solid var(--v24-line);border-radius:18px;background:#fff}
.v29-sc-sign-first{background:var(--v24-cream)}
.v29-sc-stamp{display:flex;align-items:center;gap:.8rem;margin:1rem 0 1.3rem}
.v29-sc-stamp img{width:56px;height:56px;object-fit:contain}
.v29-sc-stamp strong{display:block;font-size:.85rem;font-weight:900}
.v29-sc-stamp small{color:var(--v24-muted);font-size:.65rem}
.v29-sc-sign-name{margin-bottom:1rem;font-size:.82rem;font-weight:800}
.v29-sc-signlabel{display:block;margin-bottom:.6rem;font-size:.7rem;font-weight:800}
.v29-sc-signlabel span{color:var(--v24-red)}
.v29-sc-padwrap{position:relative}
#sigPad{width:100%;height:160px;border:1.5px dashed var(--v24-line);border-radius:12px;background:#fdfcfa;touch-action:none;cursor:crosshair}
.v29-sc-clearsig{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--v24-line);background:#fff;font-size:.62rem;font-weight:800;color:var(--v24-muted)}
.v29-sc-signhint{display:block;margin-top:.6rem;color:var(--v24-muted);font-size:.62rem}

.v29-sc-actions{display:flex;justify-content:space-between;margin-top:2.2rem}
.v29-sc-btn-primary,.v29-sc-btn-ghost{display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:0 1.3rem;border-radius:8px;font-size:.74rem;font-weight:900;border:none;cursor:pointer;transition:.2s}
.v29-sc-btn-primary{background:var(--v24-wine);color:#fff}
.v29-sc-btn-primary:hover{background:#801e2b}
.v29-sc-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.v29-sc-btn-ghost{background:transparent;color:var(--v24-ink);border:1px solid var(--v24-line)}
.v29-sc-btn-ghost:disabled{opacity:.4;cursor:not-allowed}
.v29-sc-error{margin-top:1rem;color:var(--v24-red);font-size:.72rem;font-weight:800;min-height:1em}

.v29-sc-preview-actions{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap}
.v29-sc-postnote{display:flex;align-items:flex-start;gap:.5rem;margin-top:1.6rem;padding:1rem;border-radius:12px;background:var(--v24-cream);color:var(--v24-muted);font-size:.72rem;line-height:1.9}
.v29-sc-postnote i{color:#3a6b59;margin-top:2px}

.v29-sc-paper{padding:2.4rem;border:1px solid var(--v24-line);border-radius:18px;background:#fffdf9;max-height:640px;overflow-y:auto}
.v29-sc-doc-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;margin-bottom:1rem}
.v29-sc-doc-head img{width:64px;height:64px;object-fit:contain;margin-bottom:.4rem}
.v29-sc-doc-head strong{font-size:.85rem;font-weight:900}
.v29-sc-doc-head small{color:var(--v24-gold-deep);font-size:.6rem;letter-spacing:.03em}
.v29-sc-doc-title{margin:1.2rem 0;text-align:center;font-size:1.3rem;font-weight:900;text-decoration:underline}
.v29-sc-paper h3{margin:1.6rem 0 .6rem;font-size:.88rem;font-weight:900;color:var(--v24-wine)}
.v29-sc-paper p{margin:0 0 .6rem;font-size:.76rem;line-height:2;color:var(--v24-ink)}
.v29-sc-paper ul{margin:0 0 .6rem;padding-inline-start:1.2rem;font-size:.76rem;line-height:2}
.v29-sc-paper li{margin-bottom:.3rem}
.v29-sc-doc-total{padding:.7rem 1rem;border-radius:10px;background:var(--v24-cream)}
.v29-sc-doc-sign{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--v24-line)}
.v29-sc-doc-sign small{display:block;margin-bottom:.4rem;color:var(--v24-muted);font-size:.62rem;font-weight:800}
.v29-sc-doc-sign strong{display:block;margin-bottom:.6rem;font-size:.8rem;font-weight:900}
.v29-sc-doc-stamp img{width:50px;height:50px;object-fit:contain;opacity:.9}
.v29-sc-doc-sigimg{max-width:220px;max-height:90px}
.v29-sc-doc-sigimg-empty{color:var(--v24-muted);font-size:.68rem;font-style:italic}

@media(max-width:900px){
  .v29-sc-grid,.v29-sc-services,.v29-sc-sign-grid,.v29-sc-doc-sign{grid-template-columns:1fr}
  .v29-sc-panelwrap{padding:1.6rem}
  .v29-sc-stepper li{font-size:.6rem;padding:.45rem .7rem .45rem .5rem}
}
@media(max-width:480px){
  .v29-sc-stepper li{flex:1 1 calc(50% - .4rem);justify-content:center}
  .v29-sc-amount{flex-direction:column;align-items:stretch}
  .v29-sc-amount input{width:100%}
  .v29-sc-paper{padding:1.4rem;max-height:520px}
}
