.ps-cal {
padding: clamp(28px, 5vw, 56px) clamp(20px, 4vw, 40px);
min-height: 480px;
background:
radial-gradient(60% 80% at 80% 0%, rgba(99,102,241,0.18), transparent 60%),
radial-gradient(60% 80% at 0% 100%, rgba(56,189,248,0.14), transparent 60%),
#07091a;
color: #e6e9ff;
font-family: 'Inter', system-ui, sans-serif;
}
.ps-cal-head { text-align: center; margin-bottom: clamp(24px, 4vw, 36px); }
.ps-cal-eye {
display: inline-block; font-size: 11px; font-weight: 700;
letter-spacing: 0.18em; text-transform: uppercase;
color: #818cf8; padding: 5px 12px;
background: rgba(129,140,248,0.12);
border: 1px solid rgba(129,140,248,0.28);
border-radius: 999px; margin-bottom: 14px;
}
.ps-cal-head h2 {
font-size: clamp(22px, 3.4vw, 32px); font-weight: 700;
letter-spacing: -0.02em; margin: 0 0 8px; color: #fff;
}
.ps-cal-head p { color: #9aa3c8; margin: 0; font-size: 14px; }
.ps-cal-card {
display: grid; grid-template-columns: 1.1fr 1fr;
gap: 0;
max-width: 820px; margin: 0 auto;
background: rgba(20,22,48,0.7);
border: 1px solid rgba(129,140,248,0.2);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 24px 60px rgba(0,0,0,0.35);
backdrop-filter: blur(8px);
}
.ps-cal-controls {
padding: clamp(22px, 4vw, 32px);
border-right: 1px solid rgba(129,140,248,0.15);
display: flex; flex-direction: column; gap: 22px;
}
.ps-cal-summary {
padding: clamp(22px, 4vw, 32px);
background: linear-gradient(180deg, rgba(99,102,241,0.1), rgba(56,189,248,0.06));
display: flex; flex-direction: column;
}
.ps-cal-cycle {
border: 1px solid rgba(129,140,248,0.2);
border-radius: 10px; padding: 4px;
display: grid; grid-template-columns: 1fr 1fr; gap: 0;
background: rgba(7,9,26,0.4);
margin: 0;
}
.ps-cal-sr {
position: absolute; width: 1px; height: 1px;
overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.ps-cal-cycle input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.ps-cal-cycle label {
text-align: center; padding: 9px 12px;
font-size: 12.5px; font-weight: 600; color: #9aa3c8;
cursor: pointer; border-radius: 7px;
transition: background 0.18s, color 0.18s;
}
.ps-cal-cycle input:checked + label {
background: linear-gradient(135deg, #6366f1, #38bdf8); color: #fff;
}
.ps-cal-cycle input:focus-visible + label { outline: 2px solid #818cf8; outline-offset: 2px; }
.ps-cal-stp-lbl {
display: block; font-size: 11px; letter-spacing: 0.16em;
text-transform: uppercase; color: #9aa3c8; margin-bottom: 8px;
}
.ps-cal-stp {
display: grid; grid-template-columns: 44px 1fr 44px;
border: 1px solid rgba(129,140,248,0.25);
border-radius: 10px; overflow: hidden;
background: rgba(7,9,26,0.5);
}
.ps-cal-btn {
background: transparent; border: 0; cursor: pointer;
font-size: 22px; font-weight: 700; color: #818cf8;
font-family: inherit;
transition: background 0.15s, color 0.15s;
}
.ps-cal-btn:hover { background: rgba(129,140,248,0.15); color: #fff; }
.ps-cal-btn:focus-visible { outline: 2px solid #818cf8; outline-offset: -2px; }
.ps-cal-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.ps-cal-stp input[type="number"] {
background: transparent; border: 0; outline: 0;
text-align: center; color: #fff;
font-size: 22px; font-weight: 700; letter-spacing: -0.01em;
font-family: inherit;
border-left: 1px solid rgba(129,140,248,0.18);
border-right: 1px solid rgba(129,140,248,0.18);
-moz-appearance: textfield;
}
.ps-cal-stp input::-webkit-outer-spin-button,
.ps-cal-stp input::-webkit-inner-spin-button {
-webkit-appearance: none; margin: 0;
}
.ps-cal-stp input:focus-visible { background: rgba(129,140,248,0.12); }
.ps-cal-stp-hint { display: block; font-size: 11.5px; color: #6c759b; margin-top: 8px; }
.ps-cal-row {
display: flex; justify-content: space-between; align-items: baseline;
padding: 10px 0;
font-size: 13.5px;
}
.ps-cal-row span { color: #9aa3c8; }
.ps-cal-row strong { color: #fff; font-weight: 600; }
.ps-cal-summary hr { border: 0; border-top: 1px dashed rgba(129,140,248,0.25); margin: 4px 0; }
.ps-cal-total span { color: #93c5fd; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }
.ps-cal-total strong {
font-size: clamp(28px, 4vw, 38px); font-weight: 800; letter-spacing: -0.02em;
background: linear-gradient(90deg, #818cf8, #38bdf8);
-webkit-background-clip: text; background-clip: text; color: transparent;
}
.ps-cal-foot { font-size: 12px; color: #6c759b; margin: 4px 0 16px; }
.ps-cal-cta {
display: block; text-align: center;
padding: 12px 18px; border-radius: 10px;
background: linear-gradient(135deg, #6366f1, #38bdf8);
color: #fff; text-decoration: none;
font-size: 14px; font-weight: 700;
margin-top: auto;
box-shadow: 0 10px 24px rgba(99,102,241,0.3);
transition: transform 0.18s;
}
.ps-cal-cta:hover { transform: translateY(-1px); }
.ps-cal-cta:focus-visible { outline: 2px solid #818cf8; outline-offset: 3px; }
@media (max-width: 720px) {
.ps-cal-card { grid-template-columns: 1fr; }
.ps-cal-controls { border-right: 0; border-bottom: 1px solid rgba(129,140,248,0.15); }
}
@media (prefers-reduced-motion: reduce) {
.ps-cal-cta, .ps-cal-btn, .ps-cal-cycle label { transition: none; }
}