/* Linda & Co – Spare part request form v1.2 – styled to match the site's "editorial" service pages */

/* page shell: hide theme title (we print our own H1), use the site's cream canvas */
.lc-sp-page .entry-header,.lc-sp-page .page-header{display:none!important}
.lc-sp-page #primary,.lc-sp-page .site-main{background:#fffaf4}
.lc-sp-page .entry-content,.lc-sp-page article.page{margin:0;padding:0;background:transparent;border:0;box-shadow:none;max-width:none}

.lc-sp{--ink:#171411;--muted:#2f2a25;--gold:#7a5520;--gold-soft:#b89052;--line:rgba(23,20,17,.2);--paper:#fffefa;--cream:#fffaf4;--red:#a3231b;--green:#2e6b34;
  --serif-head:oliveraregular,Georgia,"Times New Roman",serif;--serif-body:"Noto Serif JP",Georgia,serif;--sans:"Open Sans",Arial,sans-serif;
  max-width:1120px;margin:0 auto;padding:0 20px 62px;color:var(--ink);font-family:var(--serif-body);font-size:16px;line-height:1.7;box-sizing:border-box}
.lc-sp *,.lc-sp *::before,.lc-sp *::after{box-sizing:border-box}
.lc-sp [hidden]{display:none!important}
.lc-sp p,.lc-sp li{font-family:var(--serif-body)}
.lc-sp em{color:var(--red);font-style:normal}
.lc-sp i{font-style:normal;font-weight:400;color:#6b645b}
.lc-sp a{color:var(--gold)}

/* breadcrumb */
.lc-sp-crumbs{padding:22px 0 16px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#4a443d;font-family:var(--serif-body);font-weight:600}
.lc-sp-crumbs a{color:#6a6258;text-decoration:none}
.lc-sp-crumbs a:hover{color:var(--ink)}
.lc-sp-crumbs span{margin:0 8px;color:#a39a8c}

/* hero */
.lc-sp-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:clamp(24px,4vw,56px);align-items:center;margin:0 0 34px;padding:clamp(34px,5vw,64px) clamp(22px,4vw,58px);border:1px solid var(--line);background:linear-gradient(135deg,#fffaf4 0%,#f4ebdf 100%)}
.lc-sp-kicker{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold);font-family:var(--serif-body)}
.lc-sp-hero h1{margin:0 0 14px;font-family:var(--serif-head);font-weight:400;font-size:clamp(36px,4.6vw,58px);line-height:1.05;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.lc-sp-hero p{margin:0;max-width:560px;color:var(--muted);font-size:16px;line-height:1.75}
.lc-sp-need{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold-soft);padding:22px 24px}
.lc-sp-need h2{margin:0 0 10px;font-family:var(--serif-head);font-weight:400;font-size:20px;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.lc-sp-need ul{list-style:none;margin:0;padding:0}
.lc-sp-need li{position:relative;margin:0;padding:8px 0 8px 22px;border-top:1px solid rgba(23,20,17,.1);font-size:14.5px;line-height:1.5;color:var(--muted)}
.lc-sp-need li:first-child{border-top:0}
.lc-sp-need li::before{content:"✓";position:absolute;left:0;top:8px;color:var(--gold-soft);font-size:13px}

/* eyebrow + headings */
.lc-sp-eyebrow{margin:0 0 6px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-family:var(--serif-body)}
.lc-sp-h2{margin:0 0 22px;font-family:var(--serif-head);font-weight:400;font-size:clamp(25px,2.7vw,38px);line-height:1.18;letter-spacing:-.02em;color:var(--ink)}

/* how it works */
.lc-sp-how-wrap{margin:0 0 44px}
.lc-sp-how{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--paper)}
.lc-sp-how li{display:flex;flex-direction:column;gap:4px;padding:20px 20px 22px;border-left:1px solid var(--line);margin:0}
.lc-sp-how li:first-child{border-left:0}
.lc-sp-how b{font-weight:400;font-size:11px;letter-spacing:.2em;color:var(--gold-soft)}
.lc-sp-how strong{font-family:var(--serif-body);font-weight:600;font-size:16px;color:var(--ink);line-height:1.35}
.lc-sp-how span{font-size:14px;line-height:1.6;color:var(--muted)}

/* form shell */
.lc-sp-formwrap{max-width:760px;margin:0 auto 44px}
.lc-sp-progress{margin:0 0 18px}
.lc-sp-bar{height:3px;background:rgba(23,20,17,.12)}
.lc-sp-bar i{display:block;height:100%;width:25%;background:var(--ink);transition:width .3s}
.lc-sp-progress ol{list-style:none;display:flex;justify-content:space-between;margin:10px 0 0;padding:0;font-size:11px;color:#8a8379;text-transform:uppercase;letter-spacing:.16em}
.lc-sp-progress li{margin:0;font-family:var(--serif-body)}
.lc-sp-progress li.on{color:var(--ink);font-weight:700}

.lc-sp-step{margin:0;padding:clamp(22px,3.5vw,38px);background:var(--paper);border:1px solid var(--line);min-width:0}
.lc-sp-step legend{float:left;width:100%;padding:0;margin:0 0 22px;font-family:var(--serif-head);font-weight:400;font-size:clamp(22px,2.4vw,30px);line-height:1.18;letter-spacing:-.02em;color:var(--ink)}
.lc-sp-step legend+*{clear:both}
.lc-sp-count{display:block;font-family:var(--serif-body);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.lc-sp-help{margin:0 0 18px;color:var(--muted);font-size:15px}

/* fields */
.lc-sp-field{margin:0 0 20px}
.lc-sp-field>label,.lc-sp-grouplabel{display:block;margin:0 0 6px;font-family:var(--sans);font-weight:600;font-size:13.5px;letter-spacing:.02em;color:var(--ink)}
.lc-sp-hint{display:block;margin:-2px 0 7px;font-family:var(--sans);font-size:12.5px;line-height:1.5;color:#6b645b;font-weight:400}
.lc-sp input[type=text],.lc-sp input[type=email],.lc-sp input[type=tel],.lc-sp select,.lc-sp textarea{
  width:100%;min-height:50px;padding:12px 16px;border:1px solid #bdb6aa;border-radius:2px;background:#fff;color:#222;font-family:var(--sans);font-size:16px;line-height:1.4;margin:0;box-shadow:none;-webkit-appearance:none;appearance:none}
.lc-sp select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23171411' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.lc-sp textarea{min-height:96px;resize:vertical}
.lc-sp input::placeholder,.lc-sp textarea::placeholder{color:#9a9287}
.lc-sp input:focus,.lc-sp select:focus,.lc-sp textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(184,144,82,.35)}
.lc-sp .is-invalid input,.lc-sp .is-invalid select,.lc-sp .is-invalid textarea,.lc-sp .is-invalid .lc-sp-drop{border-color:var(--red)!important}
.lc-sp-err{display:block;margin-top:6px;color:var(--red);font-family:var(--sans);font-size:13px;font-weight:600}
.lc-sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.lc-sp-grid-3{grid-template-columns:2fr 1fr 1fr}

/* photos */
.lc-sp-photo input[type=file]{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none}
.lc-sp-drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:22px 16px;border:1px dashed #9a9287;background:var(--cream);position:relative;margin:0!important;transition:border-color .15s,background .15s}
.lc-sp-photo:focus-within .lc-sp-drop{box-shadow:0 0 0 3px rgba(184,144,82,.35)}
.lc-sp-drop-icon{width:38px;height:38px;border:1px solid var(--ink);color:var(--ink);font-size:24px;line-height:34px;font-weight:300;margin-bottom:8px;border-radius:50%;font-family:var(--sans)}
.lc-sp-drop-title{font-family:var(--serif-body);font-weight:600;font-size:15px;color:var(--ink)}
.lc-sp-drop .lc-sp-hint{margin:2px 0 0}
.lc-sp-drop-name{font-family:var(--sans);font-size:12.5px;color:var(--gold);margin-top:8px;word-break:break-all}
.lc-sp-drop img{max-width:100%;max-height:170px;margin-top:12px;border:1px solid var(--line)}
.lc-sp-photo.has-file .lc-sp-drop{border-style:solid;border-color:var(--green);background:#f6faf5}
.lc-sp-photo.has-file .lc-sp-drop-icon{background:var(--green);border-color:var(--green);font-size:0}
.lc-sp-photo.has-file .lc-sp-drop-icon::before{content:"✓";font-size:18px;color:#fff;line-height:36px}

/* option cards */
.lc-sp-group{margin:8px 0 20px}
.lc-sp h3{margin:0 0 12px;font-family:var(--serif-head);font-weight:400;font-size:21px;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.lc-sp-grouplabel{color:var(--gold)!important;text-transform:uppercase;letter-spacing:.16em!important;font-size:11px!important;margin:16px 0 8px!important;font-family:var(--serif-body)!important}
.lc-sp-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.lc-sp-opt{position:relative;display:block;margin:0!important;cursor:pointer}
.lc-sp-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.lc-sp-opt-body{display:flex;flex-direction:column;gap:2px;min-height:58px;justify-content:center;padding:12px 16px 12px 48px;border:1px solid #bdb6aa;background:#fff;position:relative;transition:border-color .15s,background .15s}
.lc-sp-opt-body::before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:1.5px solid #8a8379;border-radius:50%;background:#fff}
.lc-sp-opt-body strong{font-family:var(--serif-body);font-size:14.5px;font-weight:600;color:var(--ink)}
.lc-sp-opt-body small{font-family:var(--sans);font-size:12px;color:#6b645b}
.lc-sp-opt:hover .lc-sp-opt-body{border-color:var(--ink)}
.lc-sp-opt input:checked+.lc-sp-opt-body{border-color:var(--ink);background:var(--cream);box-shadow:inset 0 0 0 1px var(--ink)}
.lc-sp-opt input:checked+.lc-sp-opt-body::before{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 0 42%,#fff 48%)}
.lc-sp-opt input:focus-visible+.lc-sp-opt-body{box-shadow:0 0 0 3px rgba(184,144,82,.5)}
.lc-sp-address{border-top:1px solid var(--line);padding-top:20px;margin-top:6px}

/* review */
.lc-sp-review{margin:0 0 10px;border:1px solid var(--line);background:#fff}
.lc-sp-review div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:11px 16px;border-bottom:1px solid rgba(23,20,17,.1);font-size:14.5px}
.lc-sp-review div:last-child{border-bottom:0}
.lc-sp-review dt{margin:0;color:#6b645b;font-family:var(--sans);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;padding-top:2px}
.lc-sp-review dd{margin:0;font-weight:600;word-break:break-word;color:var(--ink)}
.lc-sp-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.lc-sp-review img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line)}
.lc-sp-edit{margin:0 0 22px;font-size:13px;font-family:var(--sans)}
.lc-sp-link{background:none;border:0;padding:4px 0;color:var(--gold);text-decoration:underline;font:inherit;cursor:pointer}
.lc-sp-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;cursor:pointer;margin:0!important;padding:16px;background:var(--cream);border:1px solid var(--line);font-family:var(--serif-body)!important;font-size:14.5px!important;line-height:1.6!important;letter-spacing:0!important}
.lc-sp-check input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--ink)}
.lc-sp-consent.is-invalid .lc-sp-check{border-color:var(--red)}

/* buttons – same as site: square, uppercase, spaced */
.lc-sp-nav{display:flex;gap:12px;margin-top:22px}
.lc-sp-btn{flex:1;min-height:54px;padding:14px 26px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff!important;font-family:var(--serif-body);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;box-shadow:none}
.lc-sp-btn:hover{background:#3a332b;border-color:#3a332b}
.lc-sp-btn-ghost{background:transparent;color:var(--ink)!important;flex:0 0 32%}
.lc-sp-btn-ghost:hover{background:var(--cream);border-color:var(--ink)}
.lc-sp-btn-submit{background:var(--gold-soft);border-color:var(--gold-soft);color:#fff!important}
.lc-sp-btn-submit:hover{background:var(--gold);border-color:var(--gold)}
.lc-sp-btn-light{background:var(--gold-soft);border-color:var(--gold-soft);flex:none}
.lc-sp-btn-light:hover{background:#cfa766;border-color:#cfa766}
.lc-sp-btn[disabled]{opacity:.6;cursor:wait}
.lc-sp-secure{text-align:center;font-family:var(--sans);font-size:12.5px;color:#6b645b;margin:14px 0 0}

/* help band – same dark CTA as other service pages */
.lc-sp-help-box{background:#211c18;color:#fff;text-align:center;padding:clamp(34px,5vw,52px) 24px;margin:0}
.lc-sp-help-box h2{margin:0 0 10px;font-family:var(--serif-head);font-weight:400;font-size:clamp(25px,2.7vw,36px);line-height:1.18;letter-spacing:-.02em;color:#fff}
.lc-sp-help-box p{margin:0 auto 22px;max-width:520px;color:#e9e1d6;font-size:15px}
.lc-sp-help-box p a{color:#e6c88f}

.lc-sp-alert{background:#fdf0ee;border:1px solid var(--red);border-left-width:3px;color:#6e1510;padding:14px 16px;margin:0 0 18px;font-family:var(--sans);font-weight:600;font-size:14px}
.lc-sp-done{max-width:640px;margin:48px auto;text-align:center;background:var(--paper);border:1px solid var(--line);padding:44px 24px}
.lc-sp-tick{width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;font-size:30px;line-height:60px;margin:0 auto 16px}
.lc-sp-done h2{margin:0 0 8px;font-family:var(--serif-head);font-weight:400;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;color:var(--ink)}
.lc-sp-ref{display:inline-block;margin:0 0 14px;padding:8px 18px;background:var(--cream);border:1px solid var(--line);font-size:15px}
.lc-sp-done .lc-sp-btn{flex:none;margin-top:10px}
.lc-sp-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}

@media(max-width:860px){
  .lc-sp-hero{grid-template-columns:1fr}
  .lc-sp-how{grid-template-columns:1fr 1fr}
  .lc-sp-how li:nth-child(3){border-left:0}
  .lc-sp-how li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:560px){
  .lc-sp{padding:0 12px 44px}
  .lc-sp-crumbs{padding:16px 0 12px}
  .lc-sp-hero{padding:28px 20px;margin-bottom:26px}
  .lc-sp-hero p{font-size:15px}
  .lc-sp-how{grid-template-columns:1fr}
  .lc-sp-how li{border-left:0;border-top:1px solid var(--line);padding:16px 18px;display:grid;grid-template-columns:34px 1fr;column-gap:8px}
  .lc-sp-how li:first-child{border-top:0}
  .lc-sp-how b{grid-row:1/3;padding-top:3px}
  .lc-sp-how-wrap{margin-bottom:34px}
  .lc-sp-step{padding:22px 16px}
  .lc-sp-grid{grid-template-columns:1fr}
  .lc-sp-grid-3{grid-template-columns:1fr 1fr}
  .lc-sp-grid-3>:first-child{grid-column:1/-1}
  .lc-sp-opts{grid-template-columns:1fr}
  .lc-sp-review div{grid-template-columns:1fr;gap:2px}
  .lc-sp-progress ol{font-size:10px;letter-spacing:.1em}
  .lc-sp-nav{position:sticky;bottom:0;z-index:20;margin:22px -12px 0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:rgba(255,254,250,.97);border-top:1px solid var(--line)}
  .lc-sp-btn-ghost{flex:0 0 30%}
}
@media(prefers-reduced-motion:reduce){.lc-sp *{transition:none!important}}

/* photo action buttons */
.lc-sp-pacts{display:flex;gap:10px;margin-top:14px;width:100%;max-width:420px}
.lc-sp-pbtn{flex:1;min-height:48px;padding:12px 10px;border:1px solid var(--ink);background:var(--ink);color:#fff!important;font-family:var(--serif-body);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0!important;line-height:1.2}
.lc-sp-pbtn:hover{background:#3a332b}
.lc-sp-pbtn-alt{background:#fff;color:var(--ink)!important}
.lc-sp-pbtn-alt:hover{background:var(--cream)}
.lc-sp-photo:focus-within .lc-sp-pbtn{outline:0}
@media(max-width:380px){.lc-sp-pacts{flex-direction:column}}

/* ===== v1.3 – single-page layout ===== */
.lc-sp-card{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3.5vw,40px)}
.lc-sp-sec{padding:0 0 26px;margin:0 0 28px;border-bottom:1px solid var(--line)}
.lc-sp-sec:last-of-type{border-bottom:0}
.lc-sp .lc-sp-sh{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-family:var(--serif-head);font-weight:400;font-size:clamp(21px,2.3vw,26px);line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.lc-sp-sh b{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;line-height:34px;text-align:center;letter-spacing:0}
.lc-sp .lc-sp-sh2{margin:0 0 14px;font-family:var(--serif-body);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.lc-sp-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lc-sp-photos .lc-sp-field{margin:0}
.lc-sp-photos .lc-sp-drop{height:100%;padding:20px 12px}
.lc-sp-photos .lc-sp-pacts{flex-direction:column}
.lc-sp-photos .lc-sp-pbtn{flex:none;width:100%}
.lc-sp-consent{margin:0 0 6px}
.lc-sp-nav{margin-top:18px}
.lc-sp-nav .lc-sp-btn{width:100%;flex:1;min-height:58px;font-size:13px}
.lc-sp-formwrap{max-width:820px}
@media(max-width:700px){
  .lc-sp-photos{grid-template-columns:1fr}
  .lc-sp-photos .lc-sp-pacts{flex-direction:row}
  .lc-sp-photos .lc-sp-pbtn{flex:1}
}
@media(max-width:560px){
  .lc-sp-card{padding:20px 14px}
  .lc-sp-nav{position:static;margin:18px 0 0;padding:0;background:none;border:0}
}

/* v1.3.2 – hero is a single column now */
.lc-sp-hero{grid-template-columns:1fr}
.lc-sp-hero p{max-width:640px}

/* v1.3.3 – section complete tick (matches the uploaded-photo tick) */
.lc-sp-sh b{position:relative;transition:background .2s,border-color .2s}
.lc-sp-sec.is-done .lc-sp-sh b{background:var(--green);font-size:0}
.lc-sp-sec.is-done .lc-sp-sh b::before{content:"\2713";position:absolute;inset:0;font-size:18px;color:#fff;line-height:34px;text-align:center;font-family:var(--sans)}
.lc-sp-sec.is-done .lc-sp-sh::after{content:"Complete";margin-left:auto;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}

/* v1.3.5 – typed brand when "Other" is chosen */
.lc-sp-other{margin:0}
