/* Formulär i samma stil som "Få ett fast pris"-panelen på startsidan */
.fpx-card { max-width: 440px; margin: 24px auto 0; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 50px -20px rgba(20,24,27,0.35); text-align: left; }
.fpx-head { padding: 16px 18px; background: #d1101f; color: #fff; }
.fpx-head strong { display: block; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; }
.fpx-head span { display: block; font-size: 13px; opacity: .85; }
.fpx-body { padding: 4px 18px 18px; }
.fpx-body .fp-form { margin-top: 14px; }
.fp-form { display: grid; gap: 10px; }
.fp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fp-field { display: block; }
.fp-field select, .fp-field input, .fp-field textarea {
  width: 100%; box-sizing: border-box; padding: 13px 14px; font: 500 16px/1.3 'Montserrat', sans-serif; color: #18181b;
  background: #fff; border: 1.5px solid #dcdce0; border-radius: 6px; outline: none; transition: border-color .15s; letter-spacing: 0; box-shadow: none;
}
.fp-field input::placeholder, .fp-field textarea::placeholder { color: #6a6a70; opacity: 1; }
.fp-field select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2318181b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.fp-field select:invalid { color: #6a6a70; }
.fp-field textarea { resize: vertical; min-height: 56px; }
.fp-field select:focus, .fp-field input:focus, .fp-field textarea:focus { border-color: #d1101f; }
.fp-google { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 4px; font-size: 14px; color: #3d3d42; text-decoration: none; }
.fp-google strong { font-weight: 700; color: #18181b; }
.fp-google-stars { color: #FFC107; letter-spacing: 1px; }
.fp-checks { display: flex; justify-content: center; gap: 18px; margin: 0; font-size: 13.5px; color: #6a6a70; }
.fp-form .fp-book-go {
  display: flex; align-items: center; justify-content: center; position: relative; width: 100%; height: 48px;
  background: #d1101f; color: #fff; border: 0; border-radius: 6px; font: 700 18px 'Montserrat', sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; transition: background .15s;
}
.fp-form .fp-book-go::after { content: "→"; position: absolute; right: 20px; }
.fp-form .fp-book-go:hover { background: #b00d1a; }
.fp-form .fp-book-go:disabled { opacity: .6; cursor: wait; }
.fp-form-error { margin: 0; font-size: 14px; color: #b00d1a; text-align: center; }
.fp-form-error a { color: inherit; }
.fp-calc-link { text-align: center; font-size: 14px; font-weight: 600; color: #6a6a70; text-decoration: underline; }

/* Kontaktformuläret: samma fältstil */
form.book-form { gap: 10px; }
form.book-form .form-group > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
form.book-form .form-group input, form.book-form .form-group textarea, form.book-form .form-group select {
  width: 100%; padding: 13px 14px; font: 500 16px/1.3 'Montserrat', sans-serif; color: #18181b; background: #fff;
  border: 1.5px solid #dcdce0; border-radius: 6px; box-shadow: none; outline: none; letter-spacing: 0;
}
form.book-form .form-group input::placeholder, form.book-form .form-group textarea::placeholder { color: #6a6a70; opacity: 1; }
form.book-form .form-group input:focus, form.book-form .form-group textarea:focus, form.book-form .form-group select:focus { border-color: #d1101f; }
form.book-form .form-group textarea { min-height: 64px; }
form.book-form button[type="submit"] {
  align-self: stretch; width: 100%; height: 48px; padding: 0 20px; margin-top: 4px; border: 0; border-radius: 6px;
  background: #d1101f; color: #fff; font: 700 18px 'Montserrat', sans-serif; letter-spacing: 0; text-transform: none;
}

/* Kundens uträkning visas överst i formuläret */
.fpx-sum { padding: 12px 14px; background: #f6f6f8; border-radius: 6px; font-size: 14px; line-height: 1.45; color: #3d3d42; }
.fpx-sum span { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #6a6a70; margin-bottom: 4px; }
.fpx-sum strong { display: block; font-weight: 600; color: #18181b; }
.fpx-sum b { display: block; margin-top: 4px; font-size: 18px; font-weight: 800; color: #d1101f; }

/* Reseavgift och bilduppladdning i formulären */
.fp-resa { margin: -4px 0 2px; font-size: 13px; line-height: 1.45; color: #6a6a70; }
.fp-bilder { display: grid; gap: 8px; }
.fp-bilder-knapp { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 14px; border: 1.5px dashed #c9c9cf; border-radius: 6px; background: #fafafb; color: #18181b; font-size: 15px; font-weight: 600; cursor: pointer; }
.fp-bilder-knapp:hover { border-color: #d1101f; }
.fp-bilder.is-full .fp-bilder-knapp { display: none; }
.fp-bilder-lista { display: flex; gap: 8px; flex-wrap: wrap; }
.fp-bilder-lista:empty { display: none; }
.fp-bild { position: relative; width: 72px; height: 72px; border-radius: 6px; overflow: hidden; border: 1px solid #e4e4e8; }
.fp-bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-bild button { position: absolute; top: 3px; right: 3px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: rgba(0,0,0,0.65); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.fp-bilder-info { margin: 0; font-size: 12.5px; color: #6a6a70; text-align: center; }
