.postcode_modal { border-radius: 3px; border: none; max-width: 65ch; padding: 2rem; padding-bottom: 1rem; opacity: 0; transition: opacity 0.3s ease, display 0.3s allow-discrete; &[open] { opacity: 1; transition-behavior: allow-discrete; transition: opacity 0.3s ease, display 0.3s allow-discrete; @starting-style { opacity: 0; } } h2 { font-size: 1.1rem; font-weight: 700; } p { font-size: 1rem; } &:not([open]) { display: none; } form { margin-top: 1rem; } input[type="text"] { padding: 0.3rem; font-size: 1.2rem; caret-color: var(--wp--preset--color--vivid-red); background: hsl(0 1 80); border: none; text-transform: uppercase; &:focus, &:valid, &:invalid, &:autofill, &:autofill:focus { background: hsl(0 1 80) !important; } } #postcode_modal_submit { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr; place-items: center; font-size: 1.2rem; font-weight: 700; color: hsl(233 100 100); padding: 0.4rem 1rem; background: var(--wp--preset--color--vivid-red); border: 1px var(--wp--preset--color--vivid-red) solid; transition: 0.2s all linear; padding: 0.2em 2.5em; &:hover { color: var(--wp--preset--color--vivid-red); background: hsl(344 98 100); cursor: pointer; } &:hover > .btn_loader > svg > circle { fill: var(--wp--preset--color--vivid-red); } .btn_loader, .btn_text { transition: 0.2s opacity linear; grid-row: 1 / -1; grid-column: 1 / -1; } } .form_fields { display: flex; justify-content: center; align-items: center; gap: 0.5rem; } &::backdrop { backdrop-filter: blur(2px); background: hsl(0 1 65 / 0.6); } .error_message_modal_postcode { min-height: 1lh; color: var(--wp--preset--color--vivid-red); } /* HTML:
*/ } /* HTML:
*/ .btn_loader { opacity: 0; svg { height: 0.4rem; } circle { fill: white; transition: 0.2s fill linear; animation: loader-pulse 1.5s ease-in-out infinite; animation-delay: calc((var(--i, 0)) * 0.2s); } } @keyframes loader-pulse { 0%, 100% { opacity: 0.3; /* Dim state */ } 50% { opacity: 1; /* Bright state */ } }