: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;
}

html {
    width: 309px;
    height: 429px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: transparent;
}

body {
    position: relative;
    width: 309px;
    height: 429px;
    min-width: 309px;
    min-height: 429px;
    max-width: 309px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--gamos-text);
    background-color: #f5f5f5;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 309px 429px;
   /* border-radius: 18px;        */
    box-shadow: var(--gamos-shadow);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1.3;
    text-align: left;
    
}

body.screen-car {
    background-image: url('assets/bg-car-square.svg');
}

body.screen-systems {
    background-image: url('assets/bg-systems.svg');
}

body.screen-usage,
body.screen-contact,
body.screen-thanks {
    background-image: url('assets/bg-form.svg');
}

body::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(32, 75, 73, .14);
  /*  border-radius: 18px; */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}

form#direct {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 13px 16px 12px;
    overflow: hidden;
}

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 {
    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;
}

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);
}

#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;
}

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);
}

.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;
}

.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;
}

.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;
}

.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;
}

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;
}

.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;
}

.message {
    margin: 8px 16px;
    padding: 8px;
    border-radius: 8px;
    color: #7b311f;
    background: #fff0eb;
    font-size: 10px;
    text-align: center;
}

.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;
}

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;
}
      
@media (max-width: 309px), (max-height: 429px) {
    html,
    body {
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
    }

    body {
        background-size: 100% 100%;
    }
}
