* { box-sizing: border-box; } .countdown { width: 100%; max-width: 100%; padding: 42px 35px; background: #fff; border: 1px solid #e5e7eb; border-radius: 24px; box-shadow: 0 20px 60px rgba(0,0,0,.08); text-align: center; } .title { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #6b7280; } .subtitle { margin: 8px 0 32px; font-size: 28px; font-weight: 700; color: #111827; } .timer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; } .unit { padding: 22px 10px; background: #f8fafc; border-radius: 16px; } .number { display: block; font-size: clamp(36px, 7vw, 64px); line-height: 1; font-weight: 800; letter-spacing: -2px; color: #111827; } .label { display: block; margin-top: 10px; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #9ca3af; } .progress { height: 5px; margin-top: 30px; overflow: hidden; background: #eef0f2; border-radius: 10px; } .progress-bar { width: 100%; height: 100%; transform-origin: left; background: ##111827; border-radius: inherit; transition: transform 1s linear; } .status { margin-top: 18px; font-size: 13px; color: #9ca3af; } .complete { display: none; } .complete-icon { margin-bottom: 15px; font-size: 48px; } .complete-title { margin: 0; font-size: 30px; font-weight: 800; color: #111827; } .complete-text { margin: 10px 0 0; color: #6b7280; } @media (max-width: 520px) { .countdown { padding: 30px 18px; border-radius: 18px; } .subtitle { font-size: 23px; } .timer { gap: 7px; } .unit { padding: 18px 5px; border-radius: 12px; } .number { font-size: 34px; } .label { font-size: 9px; letter-spacing: 1px; } }