/* Shared behavior only: branded confirmations do not inherit portable card/button styling. */
.website-speedcheck-progress, .gform_wrapper .website-speedcheck-progress { display: flex; align-items: center; gap: 1rem; margin-block: 1.5rem; }
.website-speedcheck-progress p { margin: 0; }
.website-speedcheck-dots, .gform_wrapper .website-speedcheck-dots { display: inline-flex; align-items: center; flex: 0 0 auto; gap: var(--website-speedcheck-dot-gap, .4rem); min-height: 1.5rem; }
.website-speedcheck-dots > span { display: block; width: var(--website-speedcheck-dot-size, .5rem); height: var(--website-speedcheck-dot-size, .5rem); border-radius: 50%; background: currentColor; opacity: .4; animation: website-speedcheck-wait 1.2s ease-in-out infinite; }
.website-speedcheck-dots > span:nth-child(2) { animation-delay: .16s; }
.website-speedcheck-dots > span:nth-child(3) { animation-delay: .32s; }
.website-speedcheck [data-check-status][tabindex="-1"]:focus { outline: none; box-shadow: none; }
.website-speedcheck-progress[hidden],
.website-speedcheck [hidden],
.gform_wrapper[data-website-speedcheck-wrapper][hidden],
form[data-website-speedcheck-form][hidden],
form[data-website-speedcheck-form] .gfield_required[hidden] { display: none !important; }
@keyframes website-speedcheck-wait { 0%, 60%, 100% { opacity: .4; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-.2rem); } }
@media (prefers-reduced-motion: reduce) { .website-speedcheck-dots > span { animation: none; transform: none; opacity: .65; } }

/* Standalone defaults apply only to the plugin's explicitly marked portable view. */
.website-speedcheck--default { container-type: inline-size; max-width: 52rem; padding: clamp(1rem, 4vw, 2rem); border: 1px solid currentColor; border-radius: .75rem; color: CanvasText; background: Canvas; font: inherit; }
.website-speedcheck--default [data-check-status] { margin: 0; font-size: 1.25rem; line-height: 1.5; overflow-wrap: anywhere; }
.website-speedcheck--default .website-speedcheck-waiting { margin-block: 1rem; }
.website-speedcheck--default .website-speedcheck-profile { margin-block: 1.75rem 1rem; font-size: .875rem; }
.website-speedcheck--default .website-speedcheck-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.website-speedcheck--default .website-speedcheck-scores > div { padding: 1rem; border: 1px solid currentColor; border-radius: .5rem; }
.website-speedcheck--default .website-speedcheck-scores dt { overflow-wrap: anywhere; font-size: .875rem; }
.website-speedcheck--default .website-speedcheck-scores dd { margin: .75rem 0 0; font-size: clamp(2.5rem, 6vw, 4rem); font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.website-speedcheck--default .website-speedcheck-measurement { margin-block: 1rem; font-size: .875rem; }
.website-speedcheck--default .website-speedcheck-details { margin-block: 1.5rem; border-block: 1px solid currentColor; }
.website-speedcheck--default .website-speedcheck-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; list-style: none; cursor: pointer; }
.website-speedcheck--default .website-speedcheck-details summary::-webkit-details-marker { display: none; }
.website-speedcheck--default .website-speedcheck-details summary > span { font-size: 1.25rem; line-height: 1; }
.website-speedcheck--default .website-speedcheck-details[open] summary > span { transform: rotate(45deg); }
.website-speedcheck--default .website-speedcheck-metrics { margin-block: 0 1rem; }
.website-speedcheck--default .website-speedcheck-metrics > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; padding-block: .5rem; }
.website-speedcheck--default .website-speedcheck-metrics dd { margin: 0; font-variant-numeric: tabular-nums; }
.website-speedcheck--default .website-speedcheck-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: 1.5rem; }
.website-speedcheck--default .website-speedcheck-actions button { min-height: 2.75rem; padding: .75rem 1.25rem; border: 1px solid currentColor; border-radius: 2rem; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.website-speedcheck--default .website-speedcheck-actions button:hover { text-decoration: underline; }
.website-speedcheck--default :is(a, button, summary):focus-visible { outline: .2rem solid currentColor; outline-offset: .25rem; }
@container (min-width: 40rem) { .website-speedcheck--default .website-speedcheck-scores { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
