/* ==========================================================================
   Makina AS — Custom Stylesheet
   Overrides Materialize CSS. Organized by page flow.
   ========================================================================== */

/* ==========================================================================
   1. Design Tokens
   ========================================================================== */

:root {
    --color-steel: #2e4052;
    --color-peach: #fdcfab;
    --color-peach-hover: #e6ae80;
    --color-peach-active: #ff9e52;
    --color-navy: #0f172a;
    --color-slate: #1e293b;
    --color-crimson: #af011b;
    --color-footer: #5a2a27;
    --color-primary: var(--color-steel);
    --color-accent: var(--color-peach);
    --color-bg: #ffffff;
    --color-bg-muted: rgba(46, 64, 82, 0.05);
    --color-text: #37474f;
    --color-text-light: #6b7c87;
    --color-nav-text: #1d2328;
    --color-divider: rgba(253, 207, 171, 0.3);
    --color-error: var(--color-crimson);
    --font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;
    --radius-card: 8px;
    --radius-button: 27px;
    --transition-default: all 0.3s ease;
}

/* ==========================================================================
   2. Base & Typography
   ========================================================================== */

:focus-visible {
    outline: 2px solid var(--color-primary, #2e4052);
    outline-offset: 2px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}

p,
div>span {
    font-family: 'Inter', system-ui, sans-serif;
}

.divider {
    margin-top: 20px;
    background-color: rgba(253, 207, 171, 0.3);
    height: 2px;
}

.divider-sm {
    margin: 1rem 0;
    background-color: rgba(253, 207, 171, 0.3);
}

.divider-md {
    margin: 3rem 0;
    background-color: rgba(253, 207, 171, 0.3);
}

.divider-lg {
    margin: 5rem 0;
    background-color: rgba(253, 207, 171, 0.3);
}

.section-title {
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.section-subtitle {
    font-size: 1.1rem;
    color: var(--color-text-light, #6b7c87);
    margin-bottom: 3rem;
}

/* Animation delay utilities */
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }
.delay-4 { animation-delay: 0.8s; }

.tabs .indicator {
    background-color: red;
}

.tabs .tab a {
    color: black;
}

/* ==========================================================================
   3. Navigation
   ========================================================================== */

.nav-color {
    background-color: #fff;
    box-shadow: none;
    border-bottom: 1px solid var(--color-peach, #fdcfab);
}

.nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

nav .logo-img {
    max-height: 40px;
}

#nav-ul li a {
    color: var(--color-nav-text, #1d2328);
    font-family: var(--font-body, 'Inter', system-ui, sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 2px;
}

nav a {
    font-family: var(--font-body, 'Inter', system-ui, sans-serif);
    color: var(--color-nav-text, #1d2328);
}

nav ul a.nav-cta {
    background-color: var(--color-peach, #fdcfab);
    color: var(--color-steel, #2e4052);
    font-weight: 600;
    font-size: 1.2rem;
    padding: 2px 2rem;
    height: 40px;
    border-radius: var(--radius-button, 27px);
    transition: var(--transition-default, all 0.3s ease);
    margin-right: 0;
    margin-left: 15px;
}

#nav-mobile li:has(.nav-cta) {
    display: flex;
    justify-content: center;
}

#nav-mobile a.nav-cta {
    width: 80%;
    margin-left: 0;
}

.nav-cta:hover {
    background-color: var(--color-peach-hover, #e6ae80);
}

#tjenester-dropdown {
    box-shadow: none;
    border: 1px solid var(--color-divider, rgba(253, 207, 171, 0.3));
}

/* ==========================================================================
   4. Hero Section
   ========================================================================== */

.pricecheck-header {
    padding: 50px 0;
    background-image: url(../images/car-b-min.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
    transition: all ease 1s;
}

.hero-bg {
    padding: 6rem 0;
    background: linear-gradient(135deg, #2e4052 0%, #1a2530 100%);
    background-image: url(../images/hero_car_2.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 2;
    color: white;
}

.hero-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.55) 0%,
        rgba(0, 0, 0, 0.4) 50%,
        rgba(0, 0, 0, 0.25) 100%
    );
}

.hero-decoration {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.hero-decoration .fa-tools {
    font-size: 20rem;
    opacity: 0.08;
    transform: rotate(-15deg);
    position: absolute;
    top: 0;
    left: -2rem;
    color: #ffffff;
}

.hero-decoration .fa-car {
    font-size: 18rem;
    opacity: 0.08;
    transform: rotate(15deg);
    position: absolute;
    top: 2rem;
    right: -2rem;
    color: #ffffff;
}

.hero-content {
    position: relative;
    z-index: 1;
}

.hero-section h1 {
    font-weight: 700;
    margin: 1.46rem 0 1.168rem 0;
    font-size: 2.92rem;
}

.hero-section h5 {
    font-family: var(--font-body, 'Inter', system-ui, sans-serif);
    font-weight: 400;
    font-size: 1.5rem;
    opacity: 0.9;
    margin-bottom: 3rem;
}

.hero-promise {
    margin-top: 2rem;
    opacity: 0.9;
}

.hero-promise i {
    margin-right: 0.5rem;
}

/* ==========================================================================
   5. Car Plate Input
   ========================================================================== */

#carplate {
    border: 3px solid #3A3A3B;
    background: white;
    border-radius: 5px;
    overflow: hidden;
    width: 300px;
    margin: 3rem 0;
    height: 80px;
    display: inline-block;
    position: relative;
    top: 0;
    transition: all ease 1s;
    box-shadow: 0 8px 10px rgba(0, 0, 0, 0.39);
}

#carplate .graphic {
    width: 36px;
    background: #13358E url(../images/plate-flag.png) no-repeat center center;
    background-size: 70% auto;
    position: absolute;
    height: 100%;
    margin-right: 15px;
}

#carplate .input {
    float: left;
    padding: 10px 0 10px 36px;
}

#carplate input {
    color: black;
    height: 50px;
    border: none;
    text-align: center;
    font-size: 40px;
    text-transform: uppercase;
    font-weight: bold;
    box-shadow: none;
}

/* ==========================================================================
   6. Damage Report
   ========================================================================== */

/* --- Car Info --- */
.car-header {
    gap: 1rem;
}

.car-header .fa-stack {
    min-width: 48px;
}

.car-header h5 {
    margin: 0;
}

.car-icon-circle {
    color: #2e4052;
}

.car-icon-inner {
    color: #fdcfab;
}

.car-subtitle {
    font-size: 1.15rem;
}

.car-info-container {
    margin-bottom: 2.5rem;
}

.damage-instructions {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 1.2rem;
    margin-top: 2.5rem;
    border-left: 4px solid #2e4052;
    margin-left: 0.2rem;
}

.damage-instructions .info-icon {
    color: #2e4052;
    font-size: 1.2rem;
    margin-right: 0.7rem;
    flex-shrink: 0;
}

.damage-instructions .info-text {
    color: #2e4052;
    font-size: 1.1rem;
}

/* --- Markers --- */
.marker {
    position: absolute;
}

.diamond {
    color: #eee;
    font-size: 20px;
    font-weight: bold;
    background: #af011b;
    text-align: center;
    cursor: move;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* --- Damage Panel --- */
.damageinfo {
    background-color: #0f172a;
    border-radius: 8px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
}

.damageinfo::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #fdcfab;
    opacity: 0.2;
}

/* --- Damage Items --- */
.damageitem {
    background-color: #1e293b;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 25px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.damageitem:hover {
    background-color: #334155;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.15);
}

.damageitem:last-child {
    margin-bottom: 0;
}

.damage-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    width: 100%;
    padding-right: 0;
}

.damage-title {
    font-weight: bold;
    color: #eee;
    font-size: 1.1em;
    line-height: 1.2;
}

.remove-damage-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: #f87171;
    font-size: 1.5em;
    transition: color 0.2s;
}

.remove-damage-btn:hover,
.remove-damage-btn:focus {
    color: #8b0016;
    background: rgba(175, 1, 27, 0.08);
    border-radius: 50%;
}

.nodamage {
    border: 2px dashed rgba(253, 207, 171, 0.3);
    color: #fdcfab;
    text-align: center;
    position: relative;
    padding: 30px;
    margin: 30px;
    background-color: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    margin-bottom: 30px;
}

.nodamage i {
    margin-bottom: 15px;
    opacity: 0.8;
    display: block;
}

.nodamage p {
    margin: 0;
    font-size: 1.1em;
}

.action-buttons {
    margin: 30px 0;
    padding: 0;
    position: relative;
    z-index: 1;
}

/* --- Damage Form Controls --- */
.damageitem > .input-field {
    position: unset;
}

.damageitem > .input-field > .select-wrapper {
    position: unset;
}

.damageitem .input-field {
    margin-bottom: 15px;
}

.damageitem .input-field:last-child {
    margin-bottom: 0;
}

.damageitem .damage-textarea {
    color: white;
    height: 1rem;
}

select.browser-default {
    background-color: #cbd5e1;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    padding: 8px;
}

select.browser-default:focus {
    border-color: #4a6572;
    box-shadow: 0 1px 0 0 #4a6572;
}

/* --- File Upload --- */
.file-field {
    display: block;
    margin-bottom: 10px;
}

.file-field .btn {
    height: 36px;
    line-height: 36px;
    padding: 0 1rem;
    position: relative;
    z-index: 1;
    margin-bottom: 10px;
}

.file-field input[type=file] {
    position: absolute;
    top: 0;
    left: unset;
    width: unset;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.file-field .fileBtn {
    background-color: #3b82f6;
    transition: all 0.3s ease;
}

.file-field .fileBtn:hover {
    background-color: #2563eb;
}

.file-field .file-path-wrapper {
    display: none;
}

.damageitem .file-path {
    color: white;
}

.damageitem .file-path::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* --- Image Previews --- */
.image-preview-container {
    display: block;
    margin-top: 10px;
    padding: 5px;
    width: 100%;
    text-align: left;
    clear: both;
}

.image-preview-wrapper {
    position: relative;
    width: 90px;
    height: 90px;
    border-radius: 6px;
    overflow: visible;
    margin: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    display: inline-block;
    vertical-align: top;
}

.image-preview-wrapper:nth-child(3n+1) {
    margin-left: 0;
}

.image-preview-wrapper:nth-child(3n) {
    margin-right: 0;
}

.image-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
    overflow: hidden;
}

.image-preview-wrapper .remove-image {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 28px;
    height: 28px;
    background-color: #af011b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    color: white;
    font-size: 16px;
    text-decoration: none;
}

.image-preview-wrapper .remove-image:hover {
    background-color: #8b0016;
}

.remove-image .fa-circle {
    color: #af011b;
}

.remove-image .fa-trash {
    color: white;
}

/* ==========================================================================
   7. Process Cards
   ========================================================================== */

.process-card {
    background: rgba(46, 64, 82, 0.05);
    padding: 2.5rem 1.5rem;
    border-radius: 8px;
    position: relative;
    height: 100%;
}

.row:has(.process-card) {
    display: flex;
    flex-wrap: wrap;
}

.col:has(.process-card) {
    margin-bottom: 20px;
}

.process-card-icon {
    background: #2e4052;
}

.process-card-icon span {
    color: #fdcfab;
    font-size: 1.5rem;
    font-weight: 600;
}

.process-card-title {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    min-height: 48px;
}

.process-card-content {
    margin: 0;
    line-height: 1.6;
}

.process-card-chevron {
    position: absolute;
    right: -1.5rem;
    top: 50%;
    transform: translateY(-50%);
    color: #fdcfab;
}

/* ==========================================================================
   8. Services
   ========================================================================== */


/* --- Services Content Sections (uniform spacing) --- */
.services-process-section {
    padding-top: 2rem;
}

.testimonials-section {
    padding-bottom: 4rem;
}

.testimonials-section h4 {
    font-weight: 700;
    margin-bottom: 3rem;
}

.testimonial-card {
    background: rgba(46, 64, 82, 0.05);
    padding: 2rem;
    border-radius: 8px;
    height: 100%;
}

.testimonial-card .fa-quote-left {
    font-size: 2rem;
    color: #fdcfab;
    margin-bottom: 1rem;
}

.testimonial-card .testimonial-text {
    font-style: italic;
}

.testimonial-card .testimonial-name {
    color: #2e4052;
    font-weight: 500;
}

.testimonial-card .testimonial-stars {
    color: #fdcfab;
}

/* ==========================================================================
   9. Buttons
   ========================================================================== */

.neste-button,
.send-button {
    box-shadow: 0 2px 2px 0 rgb(15, 17, 18), 0 1px 5px 0 rgb(76, 79, 81), 0 3px 1px -2px rgb(15, 17, 18);
    background-color: #fdcfab;
    color: #2e4052;
}

.neste-button:hover,
.send-button:hover {
    background-color: #ff9e52;
    box-shadow: 0 2px 2px 0 rgb(15, 17, 18), 0 1px 5px 0 rgb(76, 79, 81), 0 3px 1px -2px rgb(15, 17, 18);
}

/* ==========================================================================
   10. Information Cards
   ========================================================================== */

.circle {
    background: #2e4052;
    color: #fdcfab;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    min-width: 36px;
    min-height: 36px;
    max-width: 64px;
    max-height: 64px;
    aspect-ratio: 1/1;
    margin: 0 auto 1.5rem;
    transition: all 0.3s ease;
}

.circle i,
.circle svg {
    font-size: 1.5rem;
}

.information-section {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.information-grid {
    display: flex;
    flex-wrap: wrap;
}

.information-card {
    background: rgba(46, 64, 82, 0.05);
    padding: 2rem 1.5rem;
    border-radius: 8px;
    text-align: center;
    transition: all 0.3s ease;
    margin-bottom: 1.5rem;
    height: calc(100% - 1.5rem);
}

.information-card .circle {
    margin: 0 auto 1rem;
}

.information-card h5 {
    font-size: 1.2rem;
    margin-bottom: 0.75rem;
}

.information-card:hover {
    transform: translateY(-3px);
}

.information-section-title {
    font-weight: 700;
    margin-bottom: 1rem;
}

.information-section-subtitle {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.contact-link {
    font-weight: 500;
    font-size: 1.1rem;
    display: inline-block;
    position: relative;
    transition: all 0.3s ease;
}

.contact-link:hover {
    color: #ff9e52;
    transform: translateY(-2px);
}

.information-card .contact-link {
    display: block;
}

.contact-detail {
    display: block;
    font-size: 0.9rem;
    color: #6b7c87;
    margin-top: 0.5rem;
    font-weight: normal;
}

.opening-hours {
    color: #6b7c87;
    font-size: 1rem;
}

.opening-hours-day {
    margin-bottom: 0.5rem;
}

.opening-hours-day strong,
.address-link strong {
    color: #2e4052;
}

.address-link strong {
    display: block;
    margin-bottom: 0.3rem;
}

.address-link {
    color: #6b7c87;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
}

.address-link:hover {
    color: #6b7c87;
}

/* ==========================================================================
   11. Parallax / CTA Sections
   ========================================================================== */

.parallax-slogan {
    font-weight: 700;
    font-size: 3.8rem;
    margin-bottom: 2rem;
    text-shadow: 2px 4px 8px rgba(0, 0, 0, 0.3);
    line-height: 1.2;
    position: relative;
    z-index: 2;
}

.parallax-slogan .accent {
    color: #fdcfab;
}

.parallax-slogan .slogan-white {
    color: white;
}

.parallax-pitch {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 400;
    text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
    max-width: 800px;
    margin: 0 auto 2rem;
    line-height: 1.4;
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
}

.parallax-cta {
    background-color: #fdcfab;
    color: #2e4052;
    font-weight: 600;
    font-size: 1.2rem;
    padding: 0 2rem;
    height: 54px;
    line-height: 54px;
    border-radius: 27px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.parallax-cta:hover {
    background-color: #e6ae80;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
}

.parallax-cta i {
    margin-left: 0.5rem;
}

.parallax-no-slogan {
    margin-top: 0;
}

.parallax-color-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--parallax-bg, #2e4052);
}

.parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(46, 64, 82, 0.85) 0%, rgb(47 91 195 / 95%) 100%);
    mix-blend-mode: multiply;
}

.parallax-container {
    min-height: 450px;
    line-height: 0;
    height: auto;
    color: rgba(255, 255, 255, .9);
    position: relative;
    overflow: hidden;
    display: flex;
}

.parallax-container .section {
    width: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
}

.parallax {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.parallax img {
    opacity: 1;
    position: absolute;
    left: 50%;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    transform: translateX(-50%);
    object-fit: cover;
}

/* ==========================================================================
   12. Contact Form
   ========================================================================== */

.contact-color {
    background: #2E4052;
}

.contact-intro {
    color: #eee;
}

.contact-send-row {
    margin: 12px 0;
}

.section-spacing {
    margin-top: 100px;
}

.damage-report-container {
    margin-bottom: 6rem;
}

.input-field label,
.input-field i {
    color: #fdcfab;
}

.input-field input {
    color: #eee;
}

/* ==========================================================================
   13. Footer
   ========================================================================== */

footer.page-footer {
    background-color: #5a2a27;
}

.footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.footer-tagline {
    font-size: 1.5rem;
}

.footer-social-row {
    display: flex;
    justify-content: center;
}

.footer-social-icon {
    font-size: 3.56rem;
    margin: 0.67em 0;
}

footer.page-footer .footer-copyright {
    background-color: #3c1c1b;
}

.footer-url {
    color: white;
    font-weight: bold;
    font-size: 1.5rem;
}

.footer-url:hover {
    text-decoration: dotted;
    color: tomato;
    transition: color 0.2s;
}

.footer-facebook,
.footer-instagram,
.footer-facebook:hover,
.footer-instagram:hover {
    transition: color 0.33s;
}

.footer-facebook:hover {
    color: #3b5998;
}

.footer-instagram:hover {
    color: #E1306C;
}

.footer-company {
    font-family: 'Inter', system-ui, sans-serif;
    text-transform: uppercase;
    letter-spacing: 5px;
    font-weight: bold;
}

/* ==========================================================================
   14. Google Maps (finn-oss)
   ========================================================================== */

#map {
    width: 100%;
    height: 600px;
    background-color: rgba(46, 64, 82, 0.05);
}

/* Shared page header (finn-oss, om-oss, etc.) */
.page-header {
    padding: 3rem 0 2rem;
}

.page-title {
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.page-subtitle {
    font-size: 1.1rem;
    color: var(--color-text-light, #6b7c87);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

.page-text {
    font-size: 1.2rem;
    line-height: 1.8;
    color: var(--color-text, #37474f);
    margin-bottom: 1.5rem;
}

.maps-info-box {
    width: 280px;
}

.maps-info-box-card-action a {
    padding-right: 15px;
    padding-left: 15px;
}

.infowindowtable td,
.infowindowtable th {
    padding: 0;
    font-weight: 400;
}

/* ==========================================================================
   15. Om Oss
   ========================================================================== */


.om-oss-section-title {
    color: #2e4052;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 2rem;
    text-align: center;
}

.guarantee-section {
    background: rgba(46, 64, 82, 0.05);
    padding: 3rem 0;
}

.guarantee-card {
    border-radius: 8px;
    height: 100%;
    padding: 2rem;
}

.guarantee-card-primary {
    background: #ffffff;
}

.guarantee-card-accent {
    background: rgba(253, 207, 171, 0.1);
}

.guarantee-card-title {
    color: #2e4052;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
}

.guarantee-list {
    font-size: 1.1rem;
    line-height: 1.6;
}

.guarantee-list li {
    margin-bottom: 0.8rem;
}

.guarantee-check {
    color: #2e4052;
    margin-right: 0.5rem;
    font-size: 0.9rem;
}

.value-card {
    background: rgba(46, 64, 82, 0.05);
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.value-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.value-card i {
    color: #fdcfab;
    font-size: 2rem;
    margin-bottom: 1rem;
}

/* ==========================================================================
   16. Partners
   ========================================================================== */

.partners-title {
    color: #2e4052;
    font-size: 1.8rem;
    margin-bottom: 2rem;
    text-align: center;
}

.partners-intro {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    color: #37474f;
    text-align: center;
}

.partners-badges {
    margin: 2rem 0;
}

.partners-logos {
    margin: 3rem 0;
}

.partners-outro {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-top: 2rem;
    color: #37474f;
    text-align: center;
}

.quality-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    background: rgba(253, 207, 171, 0.1);
    border-radius: 20px;
    margin: 0.5rem;
    color: #2e4052;
    font-weight: 500;
}

.quality-badge i {
    margin-right: 0.5rem;
    color: #fdcfab;
}

.partner-logo {
    max-width: 120px;
    height: auto;
    margin: 1rem;
    opacity: 0.8;
    transition: all 0.3s ease;
    filter: grayscale(100%);
}

.partner-logo:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* ==========================================================================
   17. Media Queries
   ========================================================================== */

@media only screen and (max-width: 600px) {
    #map {
        height: 400px;
    }

    .maps-info-box {
        width: 230px;
    }

    .maps-info-box-card-action a {
        padding-right: 8px;
        padding-left: 8px;
    }

    .circle {
        width: 36px;
        height: 36px;
        min-width: 28px;
        min-height: 28px;
        max-width: 48px;
        max-height: 48px;
    }

    .damage-instructions {
        padding: 1rem;
        margin-top: 1.5rem;
    }

    .damage .damagecondition {
        margin-right: 0;
        margin-bottom: 3rem;
    }

    #carplate {
        width: 280px;
        margin: 1.5rem auto;
        height: 70px;
    }

    #carplate input {
        font-size: 32px;
        height: 45px;
    }

    #carplate .graphic {
        width: 32px;
    }

    .hero-section.hero-bg {
        padding: 3rem 0;
    }

    .hero-section h1 {
        font-size: 2rem;
        margin-bottom: 2.5rem;
    }

    .hero-section h5 {
        font-size: 1.2rem;
        margin-bottom: 2rem;
    }

    .testimonials-section .testimonial-card {
        margin-bottom: 1.5rem;
    }
}

/* ==========================================================================
   Error Page (404)
   ========================================================================== */

.error-page-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-size: 6rem;
    font-weight: 800;
    color: var(--color-primary, #2e4052);
    margin-bottom: 0;
}

.error-page-subtitle {
    color: var(--color-primary, #2e4052);
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}

.error-page-text {
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.error-page-btn {
    margin-top: 1rem;
    background-color: #fdcfab;
    color: #2e4052;
    border-radius: 27px;
    font-weight: 600;
    white-space: nowrap;
}

.error-page-btn:hover,
.error-page-btn:focus {
    background-color: #e6ae80;
}

.error-page-main {
    min-height: 60vh;
    display: flex;
    align-items: center;
    width: 100%;
}

.error-page-main > section {
    width: 100%;
}

/* ==========================================================================
   12. Service Pages (/tjenester/*)
   ========================================================================== */

.service-hero {
    text-align: center;
    padding: 2rem 0 1rem;
}

.service-hero img {
    max-width: 400px;
    width: 100%;
}

.service-hero h1 {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-weight: 700;
    font-size: 2.2rem;
    color: var(--color-primary, #2e4052);
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    letter-spacing: -0.5px;
}

.service-hero .service-tagline {
    font-size: 1.2rem;
    color: var(--color-text-light, #6b7c87);
    margin-top: 0.5rem;
    margin-bottom: 2rem;
    letter-spacing: 0.3px;
}

/* Service points section with background band */
.service-points-section {
    background: var(--color-bg-muted, rgba(46, 64, 82, 0.05));
    padding: 4rem 0;
}

.service-points {
    margin: 0;
}

.service-point-card {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 2rem;
    margin-bottom: 1.5rem;
    background: var(--color-bg, #ffffff);
    border-radius: var(--radius-card, 8px);
}

.service-point-card .circle {
    margin: 0;
    flex-shrink: 0;
}

.service-point-card .service-point-body {
    flex: 1;
}

.service-point-card h2.service-point-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-primary, #2e4052);
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.service-point-card .service-point-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--color-text-light, #6b7c87);
    margin: 0;
}

/* Other services section (tjenester pages) */
.other-services-section {
    padding: 3rem 0 4rem;
}

/* Other services grid */
.other-services-grid {
    padding: 2rem 0 3rem;
}

.other-services-grid .col {
    margin-bottom: 1.5rem;
}

.other-services-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--color-primary, #2e4052);
    text-decoration: none;
    padding: 1.5rem 1rem;
    border-radius: var(--radius-card, 8px);
    background: var(--color-bg-muted, rgba(46, 64, 82, 0.05));
    transition: var(--transition-default, all 0.3s ease);
    height: 100%;
}

.other-services-grid a:hover {
    background: rgba(46, 64, 82, 0.1);
}

.other-services-grid img {
    max-width: 160px;
    border-radius: var(--radius-card, 8px);
    margin-bottom: 1rem;
}

.other-services-grid h6,
.other-services-grid .other-service-name {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    display: block;
}

/* FAQ section */
.service-faq-section {
    padding: 3rem 0;
    margin-top: 1rem;
}

.service-faq-title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-primary, #2e4052);
    margin-bottom: 1.5rem;
}

.service-faq {
    border: none;
    box-shadow: none;
}

.service-faq li {
    margin-bottom: 0.5rem;
    border-bottom: none;
}

.service-faq .collapsible-header {
    font-family: var(--font-heading, 'Plus Jakarta Sans', system-ui, sans-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-primary, #2e4052);
    background: var(--color-bg-muted, rgba(46, 64, 82, 0.05));
    border: none;
    border-bottom: none;
    border-radius: var(--radius-card, 8px);
    padding: 1.2rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.service-faq .collapsible-header i {
    font-size: 0.8rem;
    color: var(--color-text-light, #6b7c87);
    transition: transform 0.3s ease;
}

.service-faq .active .collapsible-header i {
    transform: rotate(180deg);
}

.service-faq .collapsible-body {
    border: none;
    border-bottom: none;
    padding: 1rem 1.5rem 1.5rem;
}

.service-faq .collapsible-body p {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--color-text, #37474f);
    margin: 0;
}

@media only screen and (max-width: 600px) {
    .service-hero img {
        max-width: 280px;
    }

    .service-hero h1 {
        font-size: 1.8rem;
    }

    .service-point-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .service-point-card .circle {
        margin-bottom: 1rem;
    }

    .other-services-grid img {
        max-width: 100px;
    }

    .service-faq .collapsible-header {
        font-size: 0.95rem;
        padding: 1rem;
    }
}
