/* Figma Parça Talep: 2439:143129 / 2439:143186. Required vehicle fields keep the existing request contract. */
.yn-part-request .site__body { background: #fdfcfa; }
.part-request-page {
    --request-line: #ece9e3;
    --request-muted: #5c5e64;
    --request-brand: #f47b1b;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 24px 56px;
    color: #1e1e1e;
    font-family: Manrope, sans-serif;
}
.part-request-page [hidden] { display: none !important; }
.part-request-heading { margin-bottom: 14px; }
.part-request-heading h1 { margin: 0 0 6px; font-size: 26px; line-height: 36px; font-weight: 800; }
.part-request-heading p { margin: 0; color: var(--request-muted); font-size: 14px; line-height: 20px; }
.part-request-form { display: grid; gap: 18px; padding: 32px 24px 24px; border: 1px solid var(--request-line); border-radius: 18px; background: #fff; box-shadow: 0 2px 7px #1414180d; }
.part-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.part-request-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.part-request-field label { margin: 0; color: #71717a; font-size: 10px; line-height: 15px; font-weight: 500; letter-spacing: .6px; text-transform: uppercase; }
.part-request-input { display: block; width: 100%; min-width: 0; height: 40px; padding: 9px 13px; border: 1px solid var(--request-line); border-radius: 18px; background: #fff; color: #1e1e1e; font: 400 13px/20px Manrope, sans-serif; box-shadow: none; }
.part-request-input::placeholder { color: #757575; opacity: 1; }
select.part-request-input { padding-right: 28px; }
textarea.part-request-input { min-height: 94px; height: auto; resize: vertical; }
.part-request-input:focus { border-color: var(--request-brand); outline: 2px solid var(--request-brand); outline-offset: 2px; box-shadow: none; }
.part-request-input.is-invalid { border-color: #b42318; }
.part-request-vehicle { min-width: 0; margin: 0; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--request-line); }
.part-request-vehicle legend { float: none; width: auto; margin: 0 0 12px; padding: 0; color: #1e1e1e; font-size: 13px; line-height: 18px; font-weight: 700; }
.part-request-extras { border-top: 1px solid var(--request-line); border-bottom: 1px solid var(--request-line); }
.part-request-extras summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-height: 48px; padding: 10px 0; color: #1e1e1e; font-size: 12px; line-height: 18px; font-weight: 600; list-style: none; cursor: pointer; }
.part-request-extras summary::-webkit-details-marker { display: none; }
.part-request-extras summary::before { content: '+'; flex: 0 0 16px; color: #c2410c; font-size: 20px; font-weight: 400; }
.part-request-extras[open] summary::before { content: '−'; }
.part-request-extras summary > span { margin-left: auto; color: var(--request-muted); font-size: 11px; font-weight: 400; }
.part-request-extras__body { display: grid; gap: 18px; padding: 6px 0 18px; }
.part-request-upload { padding: 14px; border: 1px dashed #cec8bc; border-radius: 14px; background: #fdfcfa; }
.part-request-upload p { margin: 0 0 10px; color: var(--request-muted); font-size: 12px; line-height: 19px; }
.part-request-upload input { display: block; max-width: 100%; width: 100%; color: var(--request-muted); font: 12px/20px Manrope, sans-serif; }
.part-request-upload input::file-selector-button { min-height: 44px; margin-right: 12px; padding: 8px 14px; border: 1px solid #cec8bc; border-radius: 10px; background: #fff; color: #1e1e1e; font: 600 12px/20px Manrope, sans-serif; cursor: pointer; }
.part-request-upload-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 10px; }
.part-request-upload-preview:empty { display: none; }
.part-request-upload-preview__item { position: relative; overflow: hidden; aspect-ratio: 1; border: 1px solid var(--request-line); border-radius: 14px; background: #fdfcfa; }
.part-request-upload-preview__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.part-request-upload-preview__remove { position: absolute; top: 4px; right: 4px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--request-line); border-radius: 50%; background: #fff; color: #b42318; font-size: 24px; line-height: 1; cursor: pointer; }
.part-request-page .invalid-feedback { display: block; margin: 0; color: #b42318; font-size: 12px; line-height: 18px; }
.part-request-alert, .part-request-upload-feedback { padding: 14px; border: 1px solid #fecdca; border-radius: 14px; background: #fff7f5; color: #b42318; font-size: 13px; line-height: 20px; }
.part-request-alert { margin-bottom: 14px; }
.part-request-alert p { margin: 4px 0 0; }
.part-request-required { margin: -6px 0 -10px; color: var(--request-muted); font-size: 11px; line-height: 16px; }
.part-request-submit { width: 100%; min-height: 44px; padding: 12px 16px; border: 0; border-radius: 7px; background: var(--request-brand); color: #1e1e1e; font: 800 14px/20px Manrope, sans-serif; letter-spacing: 1.12px; box-shadow: 0 8px 9px #ff6b1042; cursor: pointer; }
.part-request-submit:hover { background: #ed7414; }
.part-request-success { padding: 44px 28px 28px; border: 1px solid #358b19; border-radius: 18px; background: #fff; text-align: center; }
.part-request-success h2 { margin: 0 0 6px; color: #2e7d16; font-size: 16px; line-height: 22px; font-weight: 700; }
.part-request-success p { margin: 0 auto 18px; color: var(--request-muted); font-size: 13px; line-height: 19px; }
.part-request-return { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 10px 20px; border: 1px solid var(--request-line); border-radius: 18px; background: #fff; color: #1e1e1e; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .65px; text-decoration: none; box-shadow: 0 2px 7px #1414180d; }
.part-request-return:hover { color: #c2410c; text-decoration: none; }
.part-request-page :is(button, a, summary, input[type="file"]):focus-visible { outline: 2px solid var(--request-brand); outline-offset: 3px; }
/* Mobile spacing and control sizes follow the existing Figma 06 mobile forms. */
@media (max-width: 575px) {
    .part-request-page { padding: 28px 20px 40px; }
    .part-request-heading { margin-bottom: 18px; }
    .part-request-heading h1 { font-size: 24px; line-height: 32px; }
    .part-request-heading p { font-size: 13px; line-height: 20px; }
    .part-request-form { padding: 24px 18px; }
    .part-request-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .part-request-field label { font-size: 11px; line-height: 16px; }
    .part-request-input { min-height: 46px; height: 46px; padding: 12px 13px; font-size: 16px; }
    textarea.part-request-input { min-height: 104px; height: auto; }
    .part-request-submit { min-height: 50px; }
    .part-request-success { padding: 32px 20px; }
    .part-request-return { min-height: 46px; }
}
