.sw-banner-size-calculator{margin:1.25rem 0;padding:1rem;border:1px solid var(--oat-deep);border-radius:12px;background:var(--paper)}
.sw-banner-size-calculator__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;margin:0;padding:0;border:0}
.sw-banner-size-calculator__fields legend{grid-column:1/-1;margin-bottom:.75rem;font-weight:700}
.sw-banner-size-calculator__field{display:grid;gap:.35rem;font-weight:650}
.sw-banner-size-calculator__field input,.sw-banner-size-calculator__field select{width:100%;min-height:44px;padding:.55rem .65rem;border:1px solid var(--moss);border-radius:6px;background:var(--linen);color:var(--ink)}
.sw-banner-size-calculator__field input:focus-visible,.sw-banner-size-calculator__field select:focus-visible,.sw-banner-size-calculator__button:focus-visible{outline:3px solid var(--cranberry);outline-offset:2px}
.sw-banner-size-calculator__hint{margin:.75rem 0;color:var(--moss);font-size:.95rem}
.sw-banner-size-calculator__button{min-height:44px;padding:.65rem 1rem;border:0;border-radius:6px;background:var(--pine);color:var(--paper);font:inherit;font-weight:700;cursor:pointer}
.sw-banner-size-calculator__button:disabled{opacity:.6;cursor:not-allowed}
.sw-banner-size-calculator__result{margin:.85rem 0 0;padding:.75rem;background:var(--oat);border-radius:6px}
.sw-banner-size-calculator__result:empty{display:none}
