:root {
    --gamos-green: #79bd1a;
    --gamos-green-dark: #5f9f09;
    --gamos-mint: #43b78d;
    --gamos-navy: #102932;
    --gamos-text: #21343b;
    --gamos-muted: #667b82;
    --gamos-line: #d7e3df;
    --gamos-white: #ffffff;
    --gamos-shadow: 0 10px 28px rgba(11, 36, 43, .16);
}

* {
    box-sizing: border-box;
}

/* =========================================================
   STRONA / CENTROWANIE BLOCZKA
   ========================================================= */

html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: #eef2f1;
}

body {
    width: 100%;
    min-width: 0;
    min-height: 100vh;

    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    color: var(--gamos-text);
    background: transparent;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.3;
    text-align: left;
}


/* =========================================================
   GŁÓWNY BLOCZEK
   ========================================================= */

form#direct {
    position: relative;
    z-index: 1;

    width: 309px;
    max-width: 100%;
    height: 429px;

    flex: 0 0 auto;

    margin: 0;
    padding: 13px 16px 12px;

    overflow: hidden;

    color: var(--gamos-text);

    background-color: #f5f5f5;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;

    box-shadow: var(--gamos-shadow);
}


/* =========================================================
   TŁA POSZCZEGÓLNYCH EKRANÓW
   ========================================================= */

body.screen-car form#direct {
    background-image: url('assets/bg-car-square.svg');
}

body.screen-systems form#direct {
    background-image: url('assets/bg-systems.svg');
}

body.screen-usage form#direct,
body.screen-contact form#direct,
body.screen-thanks form#direct {
    background-image: url('assets/bg-form.svg');
}


/* delikatna ramka wewnętrzna */

form#direct::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;

    pointer-events: none;

    border: 1px solid rgba(32, 75, 73, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}


/* =========================================================
   TYPOGRAFIA
   ========================================================= */

h2,
h4,
p,
ul {
    padding: 0;
}

h4 {
    min-height: 86px;
    margin: 0 0 6px;
    padding: 25px 37px 8px 0;

    color: #fff;

    font-size: 17px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.25px;

    text-align: left;
}

h4::before {
    content: "GAMOS DIRECT";

    position: absolute;
    top: 13px;
    left: 16px;

    color: #96d43d;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

h4::after {
    content: "";

    display: block;

    width: 44px;
    height: 3px;

    margin-top: 8px;

    border-radius: 2px;

    background: linear-gradient(
        90deg,
        var(--gamos-green),
        var(--gamos-mint)
    );
}


h2 {
    position: relative;

    min-height: 74px;

    margin: 0 0 14px;
    padding: 28px 0 8px;

    color: #fff;

    font-size: 19px;
    font-weight: 800;
    line-height: 1.05;

    text-align: left;
}


.screen-usage h2::before,
.screen-contact h2::before,
.screen-thanks h2::before {
    position: absolute;
    top: 2px;
    left: 0;

    color: #96d43d;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.35px;
}

.screen-usage h2::before {
    content: "INFORMACJE O UŻYTKOWANIU";
}

.screen-contact h2::before {
    content: "DANE KONTAKTOWE";
}

.screen-thanks h2::before {
    content: "ZAPYTANIE WYSŁANE";
}


h2::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 3px;

    width: 46px;
    height: 3px;

    border-radius: 2px;

    background: linear-gradient(
        90deg,
        var(--gamos-green),
        var(--gamos-mint)
    );
}


/* =========================================================
   LABEL
   ========================================================= */

label {
    display: block;

    margin: 0 2px 4px;

    color: #33484f;

    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;

    text-align: left;
}

.screen-usage label:first-of-type {
    color: #eef8f4;
}


/* =========================================================
   POLA FORMULARZA
   ========================================================= */

select,
input[type="text"],
input[type="email"],
input[type="tel"] {
    display: block;

    width: 100%;
    height: 34px;

    margin: 0 0 7px;
    padding: 0 33px 0 39px;

    border: 1px solid rgba(52, 86, 89, .18);
    border-radius: 10px;

    outline: 0;

    color: #24383e;

    background-color: rgba(255, 255, 255, .96);
    background-repeat: no-repeat;
    background-position: right 9px center, left 11px center;
    background-size: 15px 15px, 18px 18px;

    box-shadow:
        0 3px 10px rgba(24, 58, 63, .07),
        inset 0 1px 0 #fff;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 34px;

    text-align: left;

    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}


select {
    appearance: none;
    -webkit-appearance: none;

    background-image:
        url('assets/select-arrow.svg'),
        url('assets/icon-car.svg');

    cursor: pointer;
}


select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select.active {
    border-color: var(--gamos-green);

    box-shadow:
        0 0 0 3px rgba(121, 189, 26, .15),
        0 4px 12px rgba(24, 58, 63, .08);
}


/* =========================================================
   IKONY PÓL
   ========================================================= */

#brand,
#model,
#year,
#generation,
#displacement,
#engine {
    background-image:
        url('assets/select-arrow.svg'),
        url('assets/icon-car.svg');
}


#region,
#city {
    background-image:
        url('assets/select-arrow.svg'),
        url('assets/icon-location.svg');
}


#consumption {
    background-image:
        url('assets/select-arrow.svg'),
        url('assets/icon-gauge.svg');
}


#mileage {
    background-image:
        url('assets/select-arrow.svg'),
        url('assets/icon-road.svg');
}


input[name="c"] {
    background-image: url('assets/icon-code.svg');
    background-position: left 11px center;
    background-size: 18px 18px;
}


#email {
    background-image: url('assets/icon-mail.svg');
    background-position: left 11px center;
    background-size: 18px 18px;
}


#phone {
    background-image: url('assets/icon-phone.svg');
    background-position: left 11px center;
    background-size: 18px 18px;
}


#notes {
    background-image: url('assets/icon-note.svg');
    background-position: left 11px center;
    background-size: 18px 18px;
}


input[type="hidden"] {
    display: none !important;
}


/* =========================================================
   PRZYCISKI
   ========================================================= */

input.button,
input.results {
    appearance: none;
    -webkit-appearance: none;

    border: 0;
    border-radius: 11px;

    outline: 0;

    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;

    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        filter .15s ease;
}


input.button:hover,
input.results:hover {
    filter: brightness(1.03);
    transform: translateY(-1px);
}


input.button:active,
input.results:active {
    transform: translateY(0);
}


input.button {
    display: inline-block;

    width: 92px;
    height: 30px;

    margin: 0 0 7px;
    padding: 0 12px;

    color: #315058;

    background: rgba(255, 255, 255, .92);

    border: 1px solid rgba(49, 80, 88, .2);

    box-shadow:
        0 3px 9px rgba(24, 58, 63, .08);

    font-size: 11px;
    line-height: 28px;
}


input.results {
    display: block;

    width: 100%;
    height: 40px;

    margin: 7px 0 0;
    padding: 0 12px;

    color: #fff;

    background: linear-gradient(
        135deg,
        #86c927 0%,
        #6db714 58%,
        #3eae83 140%
    );

    box-shadow:
        0 8px 17px rgba(92, 155, 15, .27),
        inset 0 1px 0 rgba(255, 255, 255, .35);

    font-size: 12px;
    line-height: 40px;

    text-shadow:
        0 1px 1px rgba(44, 93, 8, .25);
}


/* =========================================================
   EKRAN 1 - SAMOCHÓD
   ========================================================= */

.screen-car form#direct > div {
    margin: 0;
}


.screen-car form#direct > div:not([style*="display:none"]) {
    display: block;
}


.screen-car form#direct > div {
    font-size: 10px;
    color: #526970;
}


.screen-car form#direct > div > input.button {
    margin-top: -1px;
}


.screen-car input.results {
    margin-top: 1px;
}


.screen-car p {
    margin: 6px 0;

    color: #42585f;

    font-size: 11px;

    text-align: center;
}


/* =========================================================
   EKRAN 2 - SYSTEMY
   ========================================================= */

.screen-systems form#direct {
    padding-top: 12px;
}


.screen-systems p {
    min-height: 80px;

    margin: 0 0 4px;
    padding: 17px 11px 7px 0;

    color: #fff;

    font-size: 13px;
    line-height: 1.25;

    text-align: left;
}


.screen-systems p::before {
    content: "POLECANE SYSTEMY LPG";

    display: block;

    margin-bottom: 5px;

    color: #96d43d;

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.25px;
}


.screen-systems p b {
    font-weight: 700;
}


div.logo {
    display: inline-block;

    width: calc(50% - 5px);
    height: 38px;

    margin: 3px 2px;

    overflow: hidden;

    border: 1px solid rgba(46, 80, 84, .15);
    border-radius: 9px;

    color: transparent;

    background-color: rgba(255, 255, 255, .95);
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;

    box-shadow:
        0 3px 9px rgba(21, 54, 60, .08),
        inset 0 1px 0 #fff;

    text-indent: -9999px;

    vertical-align: middle;
}


.screen-systems input.button {
    width: 76px;
    height: 29px;

    margin: 4px 4px 0 2px;

    line-height: 27px;
}


.screen-systems input.results {
    height: 38px;

    margin-top: 7px;

    font-size: 11px;
    line-height: 38px;
}


/* =========================================================
   EKRAN 3 - UŻYTKOWANIE
   ========================================================= */

.screen-usage h2 {
    margin-bottom: 12px;
}


.screen-usage select {
    height: 32px;

    margin-bottom: 5px;

    line-height: 32px;
}


.screen-usage label {
    margin-bottom: 3px;

    font-size: 9.5px;
}


#city_cont:empty {
    display: none;
}


#firms_cont {
    display: none;
}


/* =========================================================
   EKRAN 4 - KONTAKT
   ========================================================= */

.screen-contact h2 {
    margin-bottom: 13px;
}


.screen-contact input[type="text"],
.screen-contact input[type="email"],
.screen-contact input[type="tel"] {
    height: 35px;

    margin-bottom: 7px;

    line-height: 35px;
}


/* =========================================================
   ZGODY
   ========================================================= */

ul.points {
    margin: 8px 0 5px;
    padding: 0;
}


ul.points li {
    display: flex;

    min-height: 31px;

    margin: 0 0 5px;
    padding: 0;

    color: #354a50;

    font-size: 9.3px;
    line-height: 1.18;

    list-style: none;

    text-align: left;

    cursor: pointer;
}


a.check_s {
    flex: 0 0 18px;

    width: 18px;
    height: 18px;

    margin: 1px 8px 0 0;

    border: 1px solid #a8bbb6;
    border-radius: 5px;

    background-color: rgba(255, 255, 255, .9);
    background-image: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 18px 18px;

    box-shadow:
        inset 0 1px 2px rgba(19, 56, 60, .06);
}


a.check_s.checked {
    border-color: var(--gamos-green);
    background-image: url('assets/check.svg');
}


span.note {
    display: block;

    margin: 0 1px 4px;

    color: #6b7e83;

    font-size: 7.4px;
    line-height: 1.22;

    text-align: left;
}


.screen-contact input.results {
    height: 38px;

    margin-top: 2px;

    line-height: 38px;
}


/* =========================================================
   EKRAN PODZIĘKOWANIA
   ========================================================= */

.screen-thanks form#direct {
    padding-top: 14px;

    color: #40565c;

    font-size: 11px;
    line-height: 1.45;

    text-align: center;
}


.screen-thanks h2 {
    min-height: 126px;

    margin-bottom: 28px;
    padding-top: 30px;

    color: #fff;

    font-size: 16px;
    line-height: 1.24;

    text-align: left;
}


.screen-thanks a {
    color: var(--gamos-green-dark);

    font-weight: 800;

    text-decoration: none;
}


.screen-thanks input.button {
    display: block;

    width: 100px;

    margin: 24px auto 0;
}


/* =========================================================
   KOMUNIKATY
   ========================================================= */

.message {
    margin: 8px 16px;
    padding: 8px;

    border-radius: 8px;

    color: #7b311f;
    background: #fff0eb;

    font-size: 10px;

    text-align: center;
}


/* =========================================================
   KOD SILNIKA + SZUKAJ
   ========================================================= */

.engine-code-search {
    width: 100%;

    margin: 0 0 7px;
}


.engine-code-search > span {
    display: block;

    margin: 0 2px 4px;

    color: #526970;

    font-size: 10px;
    line-height: 1.15;

    text-align: left;
}


.engine-code-row {
    display: flex;

    width: 100%;

    gap: 7px;

    align-items: stretch;
}


.engine-code-row input[name="c"] {
    flex: 2 1 0;

    width: auto;
    min-width: 0;
    height: 34px;

    margin: 0;
}


.engine-code-row input.button {
    flex: 1 1 0;

    width: auto;
    min-width: 0;
    height: 34px;

    margin: 0;
    padding: 0 8px;

    line-height: 32px;
}


/* =========================================================
   NIEAKTYWNY PRZYCISK
   ========================================================= */

input.results:disabled {
    opacity: .48;

    cursor: not-allowed;

    filter: grayscale(.25);

    box-shadow: none;

    transform: none;
}


input.results:disabled:hover {
    filter: grayscale(.25);

    transform: none;
}


/* =========================================================
   MAŁY VIEWPORT / IFRAME MNIEJSZY NIŻ 309px
   ========================================================= */

@media screen and (max-width: 308px) {

    form#direct {
        width: 100%;
    }

}


/* =========================================================
   STANDALONE NA BARDZO NISKIM EKRANIE
   ========================================================= */

@media screen and (max-height: 428px) {

    body {
        align-items: flex-start;
    }

}