.gds-card{

max-width:560px;
margin:40px auto;
background:#fff;
border-radius:14px;
padding:35px;
box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.gds-title{

font-size:30px;
font-weight:700;
margin-bottom:8px;
line-height:1.3;

}

.gds-price{

font-size:42px;
font-weight:700;
color:#1e73be;
margin-bottom:25px;

}

.gds-description{

line-height:1.8;
margin-bottom:30px;

}

.gds-field{

margin-bottom:22px;

}

.gds-field label{

display:block;
font-weight:600;
margin-bottom:8px;

}

.gds-field input{

width:100%;
padding:15px;
border:1px solid #ddd;
border-radius:8px;
font-size:16px;
box-sizing:border-box;
transition:.2s;

}

.gds-field input:focus{

outline:none;
border-color:#1e73be;

}

.gds-buy{

width:100%;
padding:16px;
border:none;
border-radius:8px;
font-size:18px;
font-weight:700;
cursor:pointer;
transition:.25s;

}

.gds-buy:hover{

transform:translateY(-1px);

}

.gds-buy:disabled{

opacity:.7;
cursor:not-allowed;

}

.gds-success{

background:#e8f8ee;
border-left:4px solid #28a745;
padding:18px;
border-radius:8px;
margin-top:25px;

}

.gds-error{

background:#fdecec;
border-left:4px solid #dc3545;
padding:18px;
border-radius:8px;
margin-top:25px;

}

.gds-processing{

text-align:center;
margin-top:25px;

}

.gds-spinner{

width:46px;
height:46px;
margin:20px auto;
border:5px solid #e5e5e5;
border-top:5px solid #1e73be;
border-radius:50%;
animation:gdsSpin 1s linear infinite;

}

@keyframes gdsSpin{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}

.gds-processing-title{

font-size:22px;
font-weight:700;
margin-top:10px;

}

.gds-processing-text{

margin-top:12px;
line-height:1.7;

}

.gds-processing small{

display:block;
margin-top:18px;
opacity:.75;

}