180 lines
4.4 KiB
CSS
180 lines
4.4 KiB
CSS
/* Basic button fallbacks (older browsers / when Tailwind v4 utilities fail) */
|
|
.fallback-btn {
|
|
display: inline-block;
|
|
padding: 0.75rem 1.5rem;
|
|
font-size: 1.125rem;
|
|
line-height: 1.2;
|
|
font-weight: 500;
|
|
border-radius: 0.5rem;
|
|
border: none;
|
|
cursor: pointer;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
background: #555;
|
|
color: #fff;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.fallback-btn--primary {
|
|
background: #1d4ed8; /* blue-700 */
|
|
}
|
|
|
|
.fallback-btn--primary:hover,
|
|
.fallback-btn--primary:focus {
|
|
background: #1e40af; /* blue-800 */
|
|
}
|
|
|
|
.fallback-btn--secondary {
|
|
background: #1f2937; /* gray-800 */
|
|
}
|
|
|
|
.fallback-btn--secondary:hover,
|
|
.fallback-btn--secondary:focus {
|
|
background: #111827; /* gray-900 */
|
|
}
|
|
|
|
.fallback-btn:disabled,
|
|
.fallback-btn[aria-disabled="true"] {
|
|
opacity: 0.7;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.fallback-btn--auto {
|
|
width: 100%;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.fallback-btn--auto {
|
|
width: auto;
|
|
}
|
|
}
|
|
|
|
/* Spinner alignment fallback */
|
|
.fallback-btn svg {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
/* --- Enhanced slider (mode toggle) fallbacks --- */
|
|
.register-mode-toggle {
|
|
display: flex;
|
|
border: 1px solid #1d4ed8;
|
|
border-radius: 0.75rem;
|
|
overflow: hidden;
|
|
background: #f9fafb;
|
|
position: relative;
|
|
max-width: 320px;
|
|
margin: 0 auto 1.25rem auto;
|
|
}
|
|
|
|
.register-mode-toggle button {
|
|
flex: 1 1 0;
|
|
background: #e5e7eb !important; /* slate-200 */
|
|
color: #1e3a8a !important; /* blue-800 */
|
|
padding: 0.75rem 1rem;
|
|
font-weight: 700;
|
|
font-size: 1.05rem;
|
|
font-family: inherit;
|
|
border: none;
|
|
outline: none;
|
|
box-shadow: none;
|
|
cursor: pointer;
|
|
position: relative;
|
|
opacity: 1 !important;
|
|
border-right: 1px solid #1d4ed8;
|
|
/* --- Smooth transition for background, color, box-shadow, border --- */
|
|
transition:
|
|
background 0.35s cubic-bezier(.4,0,.2,1),
|
|
color 0.35s cubic-bezier(.4,0,.2,1),
|
|
box-shadow 0.35s cubic-bezier(.4,0,.2,1),
|
|
border 0.35s cubic-bezier(.4,0,.2,1);
|
|
}
|
|
|
|
.register-mode-toggle button:last-child {
|
|
border-right: none;
|
|
}
|
|
|
|
.register-mode-toggle button.active,
|
|
.register-mode-toggle button[aria-selected="true"] {
|
|
background: #1d4ed8 !important; /* blue-700 */
|
|
color: #fff !important;
|
|
/* Add a subtle shadow for depth */
|
|
box-shadow: 0 2px 12px 0 rgba(30,64,175,0.08);
|
|
}
|
|
|
|
.register-mode-toggle button.active::after,
|
|
.register-mode-toggle button[aria-selected="true"]::after {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
border: 2px solid #1d4ed8;
|
|
border-radius: 0; /* <-- changed from 0.75rem to 0 */
|
|
pointer-events: none;
|
|
/* Animate border appearance */
|
|
transition: border 0.35s cubic-bezier(.4,0,.2,1);
|
|
}
|
|
|
|
/* Provide a minimal focus style for accessibility */
|
|
.register-mode-toggle button:focus-visible {
|
|
box-shadow: 0 0 0 3px #bfdbfe !important;
|
|
}
|
|
|
|
@media (hover:hover) {
|
|
.register-mode-toggle button:hover:not(.active) {
|
|
background: #cbd5e1 !important; /* slate-300 */
|
|
color: #1e3a8a !important;
|
|
/* Slight shadow on hover for feedback */
|
|
box-shadow: 0 1px 6px 0 rgba(30,64,175,0.06);
|
|
}
|
|
}
|
|
|
|
/* Graceful degradation for very old browsers */
|
|
@supports not (gap: 1rem) {
|
|
.register-mode-toggle button {
|
|
margin-right: 1px;
|
|
}
|
|
.register-mode-toggle button:last-child {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
/* High contrast / prefers-reduced-transparency environments */
|
|
@media (prefers-contrast: more) {
|
|
.register-mode-toggle button.active {
|
|
background: #003caa !important;
|
|
}
|
|
}
|
|
|
|
/* When no blur support we already ensure readable background elsewhere */
|
|
|
|
/* --- Safari-specific fallback for buttons and toggle --- */
|
|
@media not all and (min-resolution:.001dpcm) {
|
|
@supports (-webkit-touch-callout: none) {
|
|
.fallback-btn,
|
|
.register-mode-toggle button {
|
|
/* Safari sometimes ignores border-radius on buttons */
|
|
border-radius: 8px !important;
|
|
-webkit-border-radius: 8px !important;
|
|
/* Safari ignores some box-shadow, so add fallback */
|
|
box-shadow: 0 2px 8px 0 rgba(30,64,175,0.08);
|
|
-webkit-box-shadow: 0 2px 8px 0 rgba(30,64,175,0.08);
|
|
}
|
|
.register-mode-toggle {
|
|
/* Safari fallback for flex gap */
|
|
gap: 0 !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* --- Legacy browser fallback for border-radius and appearance --- */
|
|
.fallback-btn,
|
|
.register-mode-toggle button {
|
|
border-radius: 0.5rem;
|
|
/* Fallback for very old browsers */
|
|
-webkit-border-radius: 0.5rem;
|
|
-moz-border-radius: 0.5rem;
|
|
/* Remove default button appearance */
|
|
appearance: none;
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
}
|