:root {
    --jrc-navy: #062f52;
    --jrc-blue: #0075bf;
    --jrc-cyan: #8cc9e8;
    --jrc-green: #2f8c63;
    --jrc-ink: #172837;
    --jrc-muted: #687987;
    --jrc-line: #dfe7ed;
    --jrc-soft: #f5f8fa;
    --jrc-white: #fff;
}

.jrc-page { background: var(--jrc-soft); color: var(--jrc-ink); overflow: hidden; }
.jrc-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.jrc-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 86% 14%, rgba(47,140,99,.35), transparent 27%), radial-gradient(circle at 72% 85%, rgba(0,117,191,.3), transparent 32%), linear-gradient(125deg,#031d33,#063f69 58%,#075f91); }
.jrc-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:44px 44px; }
.jrc-hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:center; gap:70px; min-height:440px; padding-block:76px; }
.jrc-hero__copy { max-width:820px; }
.jrc-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--jrc-cyan); font-size:.75rem; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.jrc-eyebrow::before { content:""; width:32px; height:2px; background:currentColor; }
.jrc-hero h1 { max-width:830px; margin:13px 0 18px; color:#fff; font-size:clamp(2.55rem,5vw,4.65rem); font-weight:850; line-height:1.02; letter-spacing:-.045em; }
.jrc-hero p { max-width:720px; margin:0; color:rgba(255,255,255,.78); font-size:1.1rem; line-height:1.7; }
.jrc-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.jrc-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border:1px solid transparent; border-radius:11px; font-weight:800; text-decoration:none; transition:.2s; }
.jrc-button--light { background:#fff; color:var(--jrc-navy); box-shadow:0 12px 30px rgba(0,0,0,.16); }
.jrc-button--light:hover { color:var(--jrc-blue); transform:translateY(-2px); }
.jrc-button--ghost { border-color:rgba(255,255,255,.3); color:#fff; background:rgba(255,255,255,.06); }
.jrc-button--ghost:hover { background:rgba(255,255,255,.14); color:#fff; }
.jrc-hero__visual { display:grid; place-items:center; }
.jrc-cycle { position:relative; display:grid; place-items:center; width:260px; height:260px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.08); box-shadow:0 25px 65px rgba(0,0,0,.22), inset 0 0 0 28px rgba(255,255,255,.035); }
.jrc-cycle::before,.jrc-cycle::after { content:""; position:absolute; border-radius:50%; border:1px dashed rgba(255,255,255,.22); }
.jrc-cycle::before { inset:30px; }.jrc-cycle::after { inset:58px; }
.jrc-cycle__tool { position:relative; z-index:2; color:#fff; font-size:4.8rem; transform:rotate(45deg); text-shadow:0 10px 20px rgba(0,0,0,.2); }
.jrc-cycle__arrow { position:absolute; z-index:3; right:18px; top:42px; color:var(--jrc-cyan); font-size:3rem; transform:rotate(-20deg); }
.jrc-cycle__leaf { position:absolute; z-index:3; left:28px; bottom:30px; color:#8ed0a8; font-size:3.2rem; transform:rotate(-20deg); }
.jrc-content { padding-block:72px 95px; }
.jrc-intro { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr); gap:70px; align-items:start; margin-bottom:66px; }
.jrc-intro h2,.jrc-section-heading h2,.jrc-benefits h2,.jrc-portal h2,.jrc-download h2 { margin:9px 0 0; color:var(--jrc-navy); font-size:clamp(1.8rem,3vw,2.45rem); font-weight:850; letter-spacing:-.03em; }
.jrc-intro__copy p { color:#425667; line-height:1.78; }.jrc-intro__copy .jrc-lead { margin-top:0; color:var(--jrc-ink); font-size:1.12rem; }
.jrc-section-heading { max-width:800px; margin-bottom:28px; }.jrc-section-heading>p { color:var(--jrc-muted); line-height:1.7; }
.jrc-process { margin-bottom:68px; scroll-margin-top:30px; }
.jrc-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.jrc-step { position:relative; min-height:245px; padding:27px; border:1px solid var(--jrc-line); border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(18,52,75,.055); }
.jrc-step::after { content:""; position:absolute; top:0; left:26px; width:44px; height:3px; background:var(--jrc-blue); }
.jrc-step__number { color:var(--jrc-blue); font-size:.72rem; font-weight:900; letter-spacing:.14em; }.jrc-step h3 { margin:17px 0 12px; color:var(--jrc-navy); font-size:1.08rem; }.jrc-step p { margin:0; color:var(--jrc-muted); line-height:1.68; font-size:.91rem; }
.jrc-benefits { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); gap:48px; align-items:center; margin-bottom:68px; padding:42px; border-radius:20px; color:#fff; background:linear-gradient(135deg,var(--jrc-navy),#075783); box-shadow:0 18px 48px rgba(6,47,82,.16); }.jrc-benefits .jrc-eyebrow { color:var(--jrc-cyan); }.jrc-benefits h2 { color:#fff; }.jrc-benefits__copy p { color:rgba(255,255,255,.75); line-height:1.7; }.jrc-benefits__list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }.jrc-benefits__list li { display:flex; align-items:flex-start; gap:12px; padding:14px 16px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.07); }.jrc-benefits__list span { display:grid; place-items:center; flex:0 0 24px; height:24px; border-radius:50%; background:var(--jrc-green); color:#fff; font-weight:900; }
.jrc-portal { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr); gap:24px; margin-bottom:26px; }.jrc-portal__main,.jrc-login-card { padding:38px; border:1px solid var(--jrc-line); border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(18,52,75,.06); }.jrc-portal__main>p { max-width:760px; color:var(--jrc-muted); line-height:1.7; }.jrc-portal__features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }.jrc-portal__features div { padding:18px; border-radius:14px; background:#f0f5f8; }.jrc-portal__features span { display:block; margin-bottom:8px; color:var(--jrc-blue); font-size:.72rem; font-weight:900; letter-spacing:.12em; }.jrc-portal__features strong { color:var(--jrc-navy); font-size:.92rem; line-height:1.4; }
.jrc-login-card { display:flex; flex-direction:column; justify-content:center; color:#fff; background:linear-gradient(145deg,#2a7455,var(--jrc-green)); }.jrc-login-card__label { color:rgba(255,255,255,.72); font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }.jrc-login-card h3 { margin:10px 0 12px; color:#fff; font-size:1.45rem; }.jrc-login-card p { margin:0 0 24px; color:rgba(255,255,255,.82); line-height:1.65; }
.jrc-download { display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:20px; padding:26px; border:1px solid var(--jrc-line); border-radius:17px; background:#fff; box-shadow:0 10px 30px rgba(18,52,75,.055); }.jrc-download__icon { display:grid; place-items:center; width:58px; height:58px; border-radius:13px; background:#c7353e; color:#fff; font-size:.7rem; font-weight:900; }.jrc-download h2 { font-size:1.28rem; }.jrc-download p { margin:6px 0 0; color:var(--jrc-muted); }.jrc-download__link { display:inline-flex; align-items:center; gap:12px; padding:13px 17px; border-radius:10px; background:#f2f9ff; color:var(--jrc-blue); font-weight:900; text-decoration:none; }.jrc-download__link:hover { background:var(--jrc-blue); color:#fff; }
@media(max-width:991px){.jrc-hero__inner{grid-template-columns:minmax(0,1fr) 230px;gap:35px}.jrc-cycle{width:210px;height:210px}.jrc-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jrc-benefits,.jrc-portal{grid-template-columns:1fr}.jrc-portal__features{grid-template-columns:1fr}}
@media(max-width:767px){.jrc-container{width:calc(100% - 28px)}.jrc-hero__inner{display:block;min-height:auto;padding-block:58px}.jrc-hero__visual{display:none}.jrc-content{padding-block:48px 65px}.jrc-intro{grid-template-columns:1fr;gap:20px}.jrc-process__grid{grid-template-columns:1fr}.jrc-benefits,.jrc-portal__main,.jrc-login-card{padding:26px}.jrc-download{grid-template-columns:52px minmax(0,1fr)}.jrc-download__link{grid-column:1/-1;justify-content:center}.jrc-hero__actions{align-items:stretch;flex-direction:column}.jrc-button{width:100%}}

/* Version 2 portal */
.jrc-portal-v2{display:grid;gap:22px}.jrc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--jrc-line);border-radius:18px;background:#fff}.jrc-toolbar h2{margin:8px 0;color:var(--jrc-navy)}.jrc-button--primary{background:var(--jrc-blue);color:#fff}.jrc-tabs{display:flex;gap:8px;overflow:auto;padding:8px;border:1px solid var(--jrc-line);border-radius:14px;background:#fff}.jrc-tabs button{border:0;border-radius:9px;padding:12px 16px;background:transparent;color:var(--jrc-muted);font-weight:800;white-space:nowrap}.jrc-tabs button.is-active{background:var(--jrc-navy);color:#fff}.jrc-view{padding:28px;border:1px solid var(--jrc-line);border-radius:18px;background:#fff}.jrc-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}.jrc-stats article{padding:24px;border-radius:14px;background:var(--jrc-soft)}.jrc-stats strong{display:block;color:var(--jrc-blue);font-size:2rem}.jrc-table-wrap{overflow:auto}.jrc-table-wrap table{width:100%;border-collapse:collapse}.jrc-table-wrap th,.jrc-table-wrap td{padding:13px;border-bottom:1px solid var(--jrc-line);text-align:left}.jrc-table-wrap tbody tr{cursor:pointer}.jrc-table-wrap tbody tr:hover{background:var(--jrc-soft)}.jrc-search input,.jrc-view>label input,.jrc-view>label textarea{width:100%;padding:13px;border:1px solid var(--jrc-line);border-radius:10px}.jrc-view>label{display:block;margin:16px 0;font-weight:700}.jrc-view>label textarea{min-height:110px}.jrc-search{position:relative}.jrc-search-results,#jrc-search-results{display:grid;gap:6px;margin-top:7px}.jrc-search-results button,#jrc-search-results button{display:flex;justify-content:space-between;gap:20px;padding:12px;border:1px solid var(--jrc-line);border-radius:10px;background:#fff;text-align:left}.jrc-search-results span,#jrc-search-results span{color:var(--jrc-muted)}#jrc-cart{display:grid;gap:10px;margin:18px 0}#jrc-cart article{display:grid;grid-template-columns:minmax(180px,1fr) 90px 130px minmax(150px,1fr) 42px;gap:8px;align-items:center;padding:12px;border:1px solid var(--jrc-line);border-radius:12px}#jrc-cart input,#jrc-cart select{min-width:0;padding:9px;border:1px solid var(--jrc-line);border-radius:8px}.jrc-message{padding:14px;border-radius:10px;background:#e9f8ef;color:#14633c}.jrc-message.is-error{background:#fff0f1;color:#9d2530}#jrc-order-dialog{width:min(720px,calc(100% - 30px));border:0;border-radius:18px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.jrc-dialog-close{float:right;border:0;background:transparent;font-size:2rem}@media(max-width:767px){.jrc-toolbar{align-items:stretch;flex-direction:column}#jrc-cart article{grid-template-columns:1fr 80px}#jrc-cart article strong,#jrc-cart article input[data-info]{grid-column:1/-1}.jrc-stats{grid-template-columns:1fr}}

/* 2.1 public documentation and separate portal pages */
.jrc-info-grid,.jrc-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:28px}.jrc-info-card{padding:32px;border:1px solid var(--jrc-line);border-radius:18px;background:#fff}.jrc-info-card h2{color:var(--jrc-navy);font-size:1.55rem}.jrc-info-card li{margin:.7rem 0;color:var(--jrc-muted)}.jrc-page-head{margin-bottom:26px}.jrc-page-head h1{margin:10px 0;color:var(--jrc-navy)}.jrc-page-head>a{color:var(--jrc-blue);font-weight:800;text-decoration:none}.jrc-box{display:flex;flex-direction:column;gap:10px;min-height:190px;padding:28px;border:2px solid var(--jrc-line);border-radius:18px;background:#fff;text-align:left}.jrc-box strong{font-size:1.35rem;color:var(--jrc-navy)}.jrc-box span{color:var(--jrc-muted)}.jrc-box.is-selected{border-color:var(--jrc-green);box-shadow:0 0 0 4px rgba(47,140,99,.12)}#jrc-box-submit{margin-top:20px}@media(max-width:767px){.jrc-info-grid,.jrc-box-grid{grid-template-columns:1fr}}

/* =========================================================
 * JONGEN Reconditioning 2.1 - Premium subpages
 * Create order, history and dialog
 * ======================================================= */

.jrc-hero--subpage {
    isolation: isolate;
}

.jrc-hero--subpage::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: clamp(-80px, 2vw, 40px);
    bottom: -150px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 50%;
    box-shadow:
        0 0 0 46px rgba(255, 255, 255, .025),
        0 0 0 92px rgba(255, 255, 255, .018);
}

.jrc-hero--subpage .jrc-hero__inner {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1fr);
    min-height: 310px;
    padding-block: 54px 60px;
}

.jrc-hero--subpage .jrc-hero__copy {
    max-width: 900px;
}

.jrc-hero--subpage h1 {
    max-width: 900px;
    font-size: clamp(2.35rem, 4.4vw, 3.85rem);
}

.jrc-hero__back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 28px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .78);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
    backdrop-filter: blur(10px);
    transition: .2s ease;
}

.jrc-hero__back:hover {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .13);
    color: #fff;
    transform: translateX(-3px);
}

/* General protected-page content */
.jrc-page-head {
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--jrc-line);
}

.jrc-page-head h1 {
    margin: 10px 0;
    color: var(--jrc-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 850;
    letter-spacing: -.035em;
}

.jrc-page-head p {
    max-width: 780px;
    margin: 0;
    color: var(--jrc-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.jrc-view {
    position: relative;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid rgba(153, 176, 191, .35);
    border-radius: 22px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, rgba(0, 117, 191, .36), transparent 45%, rgba(47, 140, 99, .22)) border-box;
    box-shadow: 0 18px 55px rgba(18, 52, 75, .075);
}

.jrc-view::before {
    content: "";
    position: absolute;
    top: 0;
    left: 34px;
    width: 58px;
    height: 3px;
    background: linear-gradient(90deg, var(--jrc-blue), var(--jrc-green));
}

/* Messages */
.jrc-message {
    position: relative;
    margin-bottom: 20px;
    padding: 15px 18px 15px 48px;
    border: 1px solid #bce3cc;
    border-radius: 13px;
    background: #edf9f2;
    color: #145d3a;
    box-shadow: 0 8px 24px rgba(20, 93, 58, .07);
}

.jrc-message::before {
    content: "✓";
    position: absolute;
    left: 17px;
    top: 50%;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--jrc-green);
    color: #fff;
    font-size: .75rem;
    font-weight: 900;
    transform: translateY(-50%);
}

.jrc-message.is-error {
    border-color: #efc6ca;
    background: #fff2f3;
    color: #922b35;
}

.jrc-message.is-error::before {
    content: "!";
    background: #c7353e;
}

/* Tool search */
.jrc-search {
    position: relative;
    margin-bottom: 22px;
}

.jrc-search::before {
    content: "⌕";
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 17px;
    color: var(--jrc-blue);
    font-size: 1.45rem;
    line-height: 1;
    pointer-events: none;
}

.jrc-search input {
    width: 100%;
    min-height: 56px;
    padding: 13px 18px 13px 50px;
    border: 1px solid #cfdde6;
    border-radius: 14px;
    background: #f9fbfc;
    color: var(--jrc-ink);
    font-size: 1rem;
    outline: 0;
    transition: .2s ease;
}

.jrc-search input:focus {
    border-color: var(--jrc-blue);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(0, 117, 191, .11);
}

#jrc-search-results {
    position: absolute;
    z-index: 20;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: grid;
    max-height: 380px;
    overflow-y: auto;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(6, 47, 82, .18);
}

#jrc-search-results:empty {
    display: none;
}

#jrc-search-results button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 15px 17px;
    border: 0;
    border-bottom: 1px solid var(--jrc-line);
    background: #fff;
    color: var(--jrc-ink);
    text-align: left;
    transition: .16s ease;
}

#jrc-search-results button:first-child {
    border-radius: 14px 14px 0 0;
}

#jrc-search-results button:last-child {
    border-bottom: 0;
    border-radius: 0 0 14px 14px;
}

#jrc-search-results button:hover {
    background: #f0f8fd;
    color: var(--jrc-blue);
}

#jrc-search-results strong {
    font-weight: 850;
}

#jrc-search-results span {
    max-width: 300px;
    color: var(--jrc-muted);
    font-size: .85rem;
    text-align: right;
}

/* Added tool positions */
#jrc-cart {
    display: grid;
    gap: 12px;
    margin: 22px 0 28px;
}

#jrc-cart:empty::before {
    content: "Noch keine Werkzeuge hinzugefügt";
    display: grid;
    place-items: center;
    min-height: 120px;
    padding: 24px;
    border: 1px dashed #bfd0db;
    border-radius: 14px;
    background: #f8fafb;
    color: var(--jrc-muted);
    font-weight: 700;
}

#jrc-cart article {
    position: relative;
    display: grid;
    grid-template-columns: minmax(200px, 1.3fr) 90px 145px minmax(170px, 1fr) 42px;
    gap: 10px;
    align-items: center;
    padding: 15px;
    border: 1px solid var(--jrc-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(18, 52, 75, .045);
}

#jrc-cart article::before {
    content: "";
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--jrc-blue);
}

#jrc-cart article > strong {
    padding-left: 8px;
    color: var(--jrc-navy);
    line-height: 1.35;
}

#jrc-cart input,
#jrc-cart select,
.jrc-view > label input,
.jrc-view > label textarea {
    width: 100%;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #cfdae2;
    border-radius: 9px;
    background: #fff;
    color: var(--jrc-ink);
    outline: 0;
    transition: .18s ease;
}

#jrc-cart input:focus,
#jrc-cart select:focus,
.jrc-view > label input:focus,
.jrc-view > label textarea:focus {
    border-color: var(--jrc-blue);
    box-shadow: 0 0 0 3px rgba(0, 117, 191, .1);
}

#jrc-cart [data-del] {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 9px;
    background: #fff0f1;
    color: #bd303a;
    font-size: 1.35rem;
    transition: .18s ease;
}

#jrc-cart [data-del]:hover {
    background: #bd303a;
    color: #fff;
}

.jrc-view > label {
    display: block;
    margin: 18px 0;
    color: var(--jrc-navy);
    font-size: .92rem;
    font-weight: 850;
}

.jrc-view > label input,
.jrc-view > label textarea {
    display: block;
    margin-top: 8px;
    font-weight: 400;
}

.jrc-view > label textarea {
    min-height: 125px;
    resize: vertical;
}

#jrc-submit {
    min-width: 230px;
    margin-top: 8px;
    box-shadow: 0 12px 26px rgba(0, 117, 191, .2);
}

#jrc-submit:hover:not(:disabled),
.jrc-button--primary:hover:not(:disabled) {
    background: #005f9d;
    color: #fff;
    transform: translateY(-2px);
}

#jrc-submit:disabled {
    cursor: wait;
    opacity: .6;
}

/* History */
.jrc-table-wrap {
    overflow: hidden;
    border: 1px solid var(--jrc-line);
    border-radius: 15px;
}

.jrc-table-wrap table {
    width: 100%;
    border-collapse: collapse;
}

.jrc-table-wrap thead {
    background: linear-gradient(135deg, var(--jrc-navy), #075783);
    color: #fff;
}

.jrc-table-wrap th {
    padding: 15px 17px;
    border: 0;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
}

.jrc-table-wrap td {
    padding: 16px 17px;
    border-bottom: 1px solid var(--jrc-line);
    color: #405565;
}

.jrc-table-wrap tbody tr {
    cursor: pointer;
    background: #fff;
    transition: .16s ease;
}

.jrc-table-wrap tbody tr:nth-child(even) {
    background: #f9fbfc;
}

.jrc-table-wrap tbody tr:hover {
    background: #edf7fc;
    box-shadow: inset 4px 0 0 var(--jrc-blue);
}

.jrc-table-wrap tbody tr:last-child td {
    border-bottom: 0;
}

.jrc-table-wrap td:first-child {
    color: var(--jrc-navy);
    font-weight: 900;
}

/* Order details dialog */
#jrc-order-dialog {
    width: min(760px, calc(100% - 30px));
    max-height: min(82vh, 860px);
    overflow: auto;
    padding: 32px;
    border: 0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(2, 24, 42, .32);
}

#jrc-order-dialog::backdrop {
    background: rgba(3, 29, 51, .7);
    backdrop-filter: blur(5px);
}

.jrc-dialog-close {
    position: sticky;
    z-index: 2;
    top: 0;
    float: right;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 11px;
    background: #eef3f6;
    color: var(--jrc-navy);
    font-size: 1.6rem;
    line-height: 1;
}

.jrc-dialog-close:hover {
    background: var(--jrc-navy);
    color: #fff;
}

#jrc-order-detail h2 {
    margin: 4px 55px 22px 0;
    color: var(--jrc-navy);
    font-size: 1.75rem;
}

#jrc-order-detail ul {
    display: grid;
    gap: 9px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

#jrc-order-detail li {
    padding: 13px 15px;
    border: 1px solid var(--jrc-line);
    border-radius: 11px;
    background: var(--jrc-soft);
}

/* Mobile */
@media (max-width: 900px) {
    #jrc-cart article {
        grid-template-columns: minmax(0, 1fr) 90px 130px;
    }

    #jrc-cart article > strong,
    #jrc-cart article [data-info] {
        grid-column: 1 / -1;
    }

    #jrc-cart [data-del] {
        position: absolute;
        top: 10px;
        right: 10px;
    }

    #jrc-cart article > strong {
        padding-right: 48px;
    }
}

@media (max-width: 767px) {
    .jrc-hero--subpage .jrc-hero__inner {
        min-height: auto;
        padding-block: 42px 48px;
    }

    .jrc-hero--subpage::after {
        right: -240px;
        bottom: -180px;
    }

    .jrc-view {
        padding: 20px;
        border-radius: 17px;
    }

    #jrc-search-results button {
        grid-template-columns: 1fr;
    }

    #jrc-search-results span {
        max-width: none;
        text-align: left;
    }

    #jrc-cart article {
        grid-template-columns: 1fr 1fr;
        padding: 16px;
    }

    #jrc-cart article > strong,
    #jrc-cart article [data-info] {
        grid-column: 1 / -1;
    }

    .jrc-table-wrap {
        overflow-x: auto;
    }

    .jrc-table-wrap table {
        min-width: 650px;
    }

    #jrc-submit {
        width: 100%;
    }

    #jrc-order-dialog {
        padding: 22px;
        border-radius: 17px;
    }
}

/* =========================================================
 * Reconditioning create wizard
 * ======================================================= */
.jrc-create-content {
    max-width: 1180px;
}

.jrc-wizard-progress {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr) 80px minmax(0, 1fr);
    align-items: center;
    margin-bottom: 28px;
    padding: 22px 26px;
    border: 1px solid var(--jrc-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 35px rgba(18, 52, 75, .055);
}

.jrc-wizard-progress__step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--jrc-muted);
    text-align: left;
}

.jrc-wizard-progress__step > span {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 2px solid #cbd8e0;
    border-radius: 50%;
    background: #f6f9fa;
    color: #708492;
    font-weight: 900;
    transition: .2s ease;
}

.jrc-wizard-progress__step strong {
    color: var(--jrc-navy);
    font-size: .93rem;
}

.jrc-wizard-progress__step small {
    margin-top: 2px;
    color: var(--jrc-muted);
    font-size: .76rem;
}

.jrc-wizard-progress__step.is-active > span {
    border-color: var(--jrc-blue);
    background: var(--jrc-blue);
    color: #fff;
    box-shadow: 0 0 0 6px rgba(0, 117, 191, .1);
}

.jrc-wizard-progress__step.is-complete > span {
    border-color: var(--jrc-green);
    background: var(--jrc-green);
    color: #fff;
}

.jrc-wizard-progress__step:not(:disabled) {
    cursor: pointer;
}

.jrc-wizard-progress__line {
    height: 2px;
    margin-inline: 12px;
    background: #d9e3e9;
}

.jrc-wizard-progress__line.is-complete {
    background: var(--jrc-green);
}

.jrc-wizard-card {
    overflow: hidden;
    border: 1px solid var(--jrc-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 22px 65px rgba(18, 52, 75, .085);
}

.jrc-wizard-panel {
    padding: clamp(24px, 4vw, 42px);
    animation: jrc-panel-in .28s ease;
}

@keyframes jrc-panel-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.jrc-wizard-card__header {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--jrc-line);
}

.jrc-wizard-card__number {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    height: 48px;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--jrc-navy), var(--jrc-blue));
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.jrc-wizard-card__header h2 {
    margin: 0 0 7px;
    color: var(--jrc-navy);
    font-size: clamp(1.35rem, 2.6vw, 1.85rem);
    font-weight: 850;
    letter-spacing: -.025em;
}

.jrc-wizard-card__header p {
    max-width: 760px;
    margin: 0;
    color: var(--jrc-muted);
    line-height: 1.65;
}

.jrc-cart-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin: 28px 0 12px;
}

.jrc-cart-heading h3 {
    margin: 0 0 4px;
    color: var(--jrc-navy);
    font-size: 1.08rem;
}

.jrc-cart-heading p {
    margin: 0;
    color: var(--jrc-muted);
    font-size: .86rem;
}

.jrc-count-badge {
    display: grid;
    place-items: center;
    min-width: 38px;
    height: 38px;
    padding-inline: 10px;
    border-radius: 999px;
    background: #edf7fc;
    color: var(--jrc-blue);
    font-weight: 900;
}

#jrc-cart:empty::before {
    content: attr(data-empty-text);
}

.jrc-wizard-actions {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid var(--jrc-line);
}

.jrc-wizard-actions--end {
    justify-content: flex-end;
}

.jrc-button--secondary {
    border-color: #cbd8e0;
    background: #fff;
    color: var(--jrc-navy);
}

.jrc-button--secondary:hover {
    border-color: var(--jrc-blue);
    color: var(--jrc-blue);
}

.jrc-button:disabled {
    cursor: not-allowed;
    opacity: .45;
    transform: none !important;
}

.jrc-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.jrc-field {
    position: relative;
    display: block;
    padding: 22px;
    border: 1px solid var(--jrc-line);
    border-radius: 15px;
    background: #f9fbfc;
}

.jrc-field--full {
    grid-column: 1 / -1;
}

.jrc-field > span:first-child {
    display: block;
    color: var(--jrc-navy);
    font-weight: 850;
}

.jrc-field > small {
    display: block;
    margin: 5px 0 13px;
    color: var(--jrc-muted);
    line-height: 1.5;
}

.jrc-field input,
.jrc-field textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #cddae2;
    border-radius: 10px;
    background: #fff;
    color: var(--jrc-ink);
    outline: 0;
    transition: .18s ease;
}

.jrc-field input:focus,
.jrc-field textarea:focus {
    border-color: var(--jrc-blue);
    box-shadow: 0 0 0 4px rgba(0, 117, 191, .1);
}

.jrc-field textarea {
    min-height: 140px;
    resize: vertical;
}

.jrc-character-counter {
    display: block !important;
    margin: 8px 0 0 !important;
    color: var(--jrc-muted) !important;
    font-size: .75rem;
    text-align: right;
}

.jrc-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
    gap: 18px;
}

.jrc-review-card {
    border: 1px solid var(--jrc-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(18, 52, 75, .045);
}

.jrc-review-card__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 17px 19px;
    border-bottom: 1px solid var(--jrc-line);
    background: #f6f9fa;
}

.jrc-review-card__head h3 {
    margin: 0;
    color: var(--jrc-navy);
    font-size: 1rem;
}

.jrc-review-card__head button {
    padding: 6px 10px;
    border: 0;
    border-radius: 8px;
    background: #e8f4fb;
    color: var(--jrc-blue);
    font-size: .78rem;
    font-weight: 850;
}

#jrc-review-tools {
    display: grid;
}

.jrc-review-tool {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 15px 19px;
    border-bottom: 1px solid var(--jrc-line);
}

.jrc-review-tool:last-child {
    border-bottom: 0;
}

.jrc-review-tool strong {
    color: var(--jrc-navy);
}

.jrc-review-tool small {
    display: block;
    margin-top: 4px;
    color: var(--jrc-muted);
}

.jrc-review-tool > span {
    align-self: center;
    padding: 6px 9px;
    border-radius: 8px;
    background: #edf7fc;
    color: var(--jrc-blue);
    font-weight: 900;
}

.jrc-review-data {
    margin: 0;
    padding: 4px 19px;
}

.jrc-review-data > div {
    padding: 15px 0;
    border-bottom: 1px solid var(--jrc-line);
}

.jrc-review-data > div:last-child {
    border-bottom: 0;
}

.jrc-review-data dt {
    margin-bottom: 5px;
    color: var(--jrc-muted);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.jrc-review-data dd {
    margin: 0;
    color: var(--jrc-ink);
    white-space: pre-line;
}

.jrc-submit-notice {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-top: 22px;
    padding: 16px 18px;
    border: 1px solid #bfe2ce;
    border-radius: 13px;
    background: #eef9f3;
}

.jrc-submit-notice > span {
    display: grid;
    place-items: center;
    flex: 0 0 27px;
    height: 27px;
    border-radius: 50%;
    background: var(--jrc-green);
    color: #fff;
    font-weight: 900;
}

.jrc-submit-notice p {
    margin: 0;
    color: #245f43;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .jrc-wizard-progress {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .jrc-wizard-progress__line {
        display: none;
    }

    .jrc-wizard-progress__step {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .jrc-wizard-progress__step > span {
        width: 36px;
        height: 36px;
    }

    .jrc-wizard-progress__step small {
        display: none;
    }

    .jrc-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .jrc-wizard-progress {
        padding: 14px;
    }

    .jrc-wizard-progress__step {
        display: flex;
        justify-content: center;
    }

    .jrc-wizard-progress__step strong {
        display: none;
    }

    .jrc-wizard-card__header {
        gap: 13px;
    }

    .jrc-wizard-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .jrc-wizard-actions .jrc-button {
        width: 100%;
    }

    .jrc-detail-grid {
        grid-template-columns: 1fr;
    }

    .jrc-field {
        padding: 17px;
    }
}
