/* Mechanics shared by the preview sites (layout-neutral; each site styles the look itself) */
.s-list, .s-pkgs, .s-inc, .s-addons, .s-steps { list-style: none; margin: 0; padding: 0; }
.s-pkg { display: flex; flex-direction: column; }
.s-pkg-cta { margin-top: auto; }
.f-set { border: 0; margin: 0; padding: 0; min-width: 0; }
.f-legend { padding: 0; }
.f { display: grid; gap: 8px; align-content: start; }
.f input, .f select, .f textarea { font: inherit; width: 100%; }
.f textarea { resize: vertical; }
/* iPhone Safari gives date inputs a fixed native width that ignores width:100% and pokes past the form; reset it */
.f input[type="date"] { -webkit-appearance: none; appearance: none; display: block; min-width: 0; max-width: 100%; box-sizing: border-box; }
.f input[type="date"]::-webkit-date-and-time-value { text-align: left; margin: 0; }
.f-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.f--wide { grid-column: 1 / -1; }
.f-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.f-chip { position: relative; display: inline-flex; }
.f-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.f-chip span { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.f-err { font-size: 14px; }
.f-hp { position: absolute; left: -9999px; }
.f-status { min-height: 1.5em; }
.f-submit { cursor: pointer; }
.f-submit[disabled] { opacity: .6; cursor: progress; }
@media (max-width: 640px) { .f-grid { grid-template-columns: 1fr; } }
