paymesol-basic/styles.css
2025-05-31 13:07:13 +00:00

474 lines
9.5 KiB
CSS

/* ========================================================================== */
/* General Reset and Base Styles */
/* ========================================================================== */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
height: 95vh;
background: #ab9ff2;
}
/* ========================================================================== */
/* Main Container */
/* ========================================================================== */
.app-container {
background: #222222;
padding: 15px;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
width: 325px;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
height: 610px;
position: relative;
overflow: hidden;
margin-top: 10px;
}
/* ========================================================================== */
/* Logo and Title */
/* ========================================================================== */
.logo-container {
text-align: center;
}
.logo {
width: 150px;
}
/* ========================================================================== */
/* Header (Wallet Connect and Menu Button) */
/* ========================================================================== */
.header-container {
display: flex;
justify-content: space-between;
gap: 10px;
width: 100%;
z-index: 1001;
position: relative;
}
#connect-wallet {
flex: 1;
padding: 12px;
background-color: #3c315b;
color: white;
font-size: 16px;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s;
height: 35px;
}
#connect-wallet:hover {
background-color: #50597b;
}
#menu-button {
flex: 1;
padding: 12px;
background-color: #3a3a4a;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s;
height: 35px;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
#menu-button span {
display: block;
width: 25px;
height: 3px;
background: #ffffff;
position: absolute;
transition: all 0.3s ease;
}
#menu-button span:nth-child(1) {
top: 10px;
}
#menu-button span:nth-child(2) {
top: 16px;
}
#menu-button span:nth-child(3) {
top: 22px;
}
#menu-button.active span:nth-child(1) {
transform: rotate(45deg);
top: 16px;
}
#menu-button.active span:nth-child(2) {
opacity: 0;
}
#menu-button.active span:nth-child(3) {
transform: rotate(-45deg);
top: 16px;
}
#menu-button:hover {
background-color: #444d50;
}
/* ========================================================================== */
/* Menu Dropdown */
/* ========================================================================== */
.menu-dropdown {
display: none;
position: absolute;
top: 105px;
right: 15px;
width: 160px;
background: #3a3a4a;
border-radius: 8px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
z-index: 1000;
max-height: 300px;
overflow-y: auto;
transform: translateY(-10px);
opacity: 0;
}
.menu-dropdown.active {
display: block;
animation: slideIn 0.3s ease-out forwards;
}
.menu-dropdown.closing {
animation: slideOut 0.3s ease-in forwards;
}
.menu-dropdown button, .menu-dropdown a {
display: flex;
align-items: center;
padding: 10px;
color: #ffffff;
text-decoration: none;
border-bottom: 1px solid #4a436b;
background: none;
border: none;
width: 100%;
text-align: right;
cursor: pointer;
font-size: 11px;
}
.menu-dropdown button:hover, .menu-dropdown a:hover {
background: #ab9ff2;
color: #ffffff;
}
.menu-dropdown button:last-child, .menu-dropdown a:last-child {
border-bottom: none;
}
.menu-dropdown img {
width: 25px;
height: auto;
margin-right: 6px;
order: -1;
}
/* Animations */
@keyframes slideIn {
from {
transform: translateY(-10px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes slideOut {
from {
transform: translateY(0);
opacity: 1;
}
to {
transform: translateY(-10px);
opacity: 0;
}
}
/* ========================================================================== */
/* Cryptocurrency Selection */
/* ========================================================================== */
.radio-dropdown {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 1px;
}
.radio-dropdown input[type="radio"] {
display: none;
}
.radio-dropdown label {
display: flex;
align-items: center;
padding: 5px 10px;
border-radius: 8px;
background-color: #3a3a4a;
cursor: pointer;
transition: background-color 0.2s, color 0.2s;
border: 1px solid #3a3a4a;
color: white;
}
.radio-dropdown label:hover {
background-color: #444d50;
}
.radio-dropdown input[type="radio"]:checked + label {
background-color: #2ec08b;
border-color: #2ec08b;
color: white;
}
.icon {
width: 25px;
height: auto;
margin-right: 5px;
vertical-align: middle;
}
/* ========================================================================== */
/* Input Fields Container */
/* ========================================================================== */
.amount-container {
width: 100%;
background: #1a1a2e;
border-radius: 12px;
padding: 10px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
display: flex;
justify-content: center;
}
.amount-wrapper {
width: 100%;
max-width: 320px;
display: flex;
flex-direction: column;
gap: 10px;
}
.currency-row {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.currency-label {
width: 60px;
font-size: 14px;
font-weight: bold;
text-align: left;
}
.euro-display {
width: 180px;
font-size: 18px;
font-family: 'Courier New', Courier, monospace;
text-align: right;
padding: 5px;
background: none;
border: none;
color: #ffffff;
cursor: default;
}
.crypto-row {
display: flex;
align-items: center;
justify-content: flex-end;
width: 240px;
}
.crypto-display {
font-size: 18px;
font-family: 'Courier New', Courier, monospace;
text-align: right;
padding: 5px;
background: none;
border: none;
color: #2ec08b;
opacity: 0;
transition: opacity 0.3s ease;
}
.crypto-display.show {
opacity: 1;
}
.crypto-label {
color: #2ec08b;
margin-right: 5px;
}
/* ========================================================================== */
/* Keypad */
/* ========================================================================== */
.keypad {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
max-width: 100%;
width: 100%;
}
.keypad button {
padding: 13px 10px;
font-size: 18px;
background: #2a2a2a;
color: #ffffff;
border: none;
border-radius: 8px;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 0 5px rgba(171, 159, 242, 0.5),
0 0 10px rgba(171, 159, 242, 0.3);
}
.keypad button:hover {
background: #3a3a4a;
box-shadow: 0 0 8px rgba(171, 159, 242, 0.8),
0 0 15px rgba(171, 159, 242, 0.5);
}
/* ========================================================================== */
/* Generate QR Button Container */
/* ========================================================================== */
.payment-buttons {
display: flex;
justify-content: center;
gap: 10px;
width: 100%;
margin-top: 5px;
}
#generate-qr {
flex: 1;
width: 135px;
height: 50px;
padding: 0;
font-size: 16px;
border: none;
border-radius: 8px;
cursor: pointer;
background: linear-gradient(145deg, #2ec08b, #25a671);
color: white;
transition: all 0.3s ease;
}
#generate-qr:hover {
background: linear-gradient(145deg, #34d698, #2ec08b);
}
/* ========================================================================== */
/* Modals (QR, History) */
/* ========================================================================== */
.modal {
display: none;
position: fixed;
z-index: 2000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 320px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
}
#qr-modal {
display: none;
position: fixed;
z-index: 999;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}
#qr-modal .modal-content {
background-color: #2ec08b;
text-align: center;
display: grid;
justify-content: center;
position: inherit;
}
#qr-modal .modal-content h3 {
margin-bottom: 15px;
color: white;
}
.close-button {
background-color: #ff7243;
color: white;
border: none;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
margin-top: 15px;
font-size: 16px;
}
#qr-canvas {
margin-top: 10px;
width: 100%;
height: auto;
}