.a360-sf-wrap {
	--a360-sf-accent: #ff0000;
	--a360-sf-text: #111827;
	--a360-sf-muted: #5d6470;
	--a360-sf-border: #e4e7eb;
	max-width: 760px;
	margin: 1.5rem auto;
	color: var(--a360-sf-text);
	font-family: Roboto, "Segoe UI", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}
.a360-sf-wrap *, .a360-sf-wrap *::before, .a360-sf-wrap *::after { box-sizing: border-box; }
.a360-sf-form { padding: clamp(1rem, 4vw, 2rem); border: 1px solid var(--a360-sf-border); border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgb(32 33 36 / 7%); }
.a360-sf-form h2, .a360-sf-step > legend, .a360-sf-review h3 { font-family: Oswald, "Arial Narrow", Arial, sans-serif; }
.a360-sf-form h2 { margin: 0 0 .4rem; font-size: clamp(1.45rem, 4vw, 2rem); line-height: 1.2; }
.a360-sf-intro, .a360-sf-privacy { color: var(--a360-sf-muted); }
.a360-sf-progress { height: 8px; margin-top: 1.3rem; overflow: hidden; border-radius: 99px; background: #e8eaed; }
.a360-sf-form:not(.a360-sf-enhanced) .a360-sf-progress, .a360-sf-form:not(.a360-sf-enhanced) .a360-sf-step-label { display: none; }
.a360-sf-progress-fill { display: block; width: 33.333%; height: 100%; border-radius: inherit; background: var(--a360-sf-accent); transition: width .2s ease; }
.a360-sf-step-label { margin: .5rem 0 1.2rem; color: var(--a360-sf-muted); font-size: .92rem; }
.a360-sf-step { min-width: 0; margin: 0 0 1.25rem; padding: 0; border: 0; }
.a360-sf-step > legend { margin-bottom: 1rem; padding: 0; font-size: 1.25rem; font-weight: 700; }
.a360-sf-group { display: grid; gap: .65rem; min-width: 0; margin: 0 0 1.25rem; padding: 0; border: 0; }
.a360-sf-field { min-width: 0; }
.a360-sf-size-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.a360-sf-size-grid label { min-width: 0; }
.a360-sf-group > legend { margin-bottom: .65rem; padding: 0; font-weight: 650; }
.a360-sf-group > legend span, .a360-sf-hint { display: block; color: var(--a360-sf-muted); font-size: .9rem; font-weight: 400; }
.a360-sf-wrap label:not(.a360-sf-choice):not(.a360-sf-trap) { display: block; margin: 0 0 1.15rem; font-weight: 600; }
.a360-sf-wrap input:not([type=checkbox]):not([type=radio]), .a360-sf-wrap select, .a360-sf-wrap textarea { display: block; width: 100%; min-height: 46px; margin-top: .4rem; padding: .65rem .75rem; border: 1px solid #737980; border-radius: 6px; background: #fff; color: var(--a360-sf-text); font: inherit; }
.a360-sf-wrap input[type=file] { min-height: auto; padding: .5rem; }
.a360-sf-wrap textarea { min-height: 110px; resize: vertical; }
.a360-sf-choice { display: flex; align-items: flex-start; gap: .65rem; min-height: 44px; padding: .6rem .7rem; border: 1px solid var(--a360-sf-border); border-radius: 7px; cursor: pointer; font-weight: 400; }
.a360-sf-choice:has(input:checked) { border-color: var(--a360-sf-accent); background: #fff8f8; }
.a360-sf-choice input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin: .12rem 0 0; accent-color: var(--a360-sf-accent); }
.a360-sf-wrap input:focus-visible, .a360-sf-wrap select:focus-visible, .a360-sf-wrap textarea:focus-visible, .a360-sf-wrap button:focus-visible { outline: 3px solid #145da0; outline-offset: 2px; }
.a360-sf-nav { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1.25rem; }
.a360-sf-nav button { min-height: 46px; padding: .65rem 1.1rem; border: 2px solid var(--a360-sf-accent); border-radius: 6px; background: var(--a360-sf-accent); color: #fff; cursor: pointer; font: inherit; font-size: 19px; font-weight: 700; }
.a360-sf-nav .a360-sf-back { border-color: #000; background: #fff; color: #000; }
.a360-sf-nav button[hidden], .a360-sf-step[hidden], .a360-sf-wrap [hidden] { display: none !important; }
.a360-sf-errors { margin: 1rem 0; padding: .75rem 1rem; border-left: 4px solid #b42318; background: #fff1f0; color: #7a1712; }
.a360-sf-errors ul { margin: 0; padding-left: 1.2rem; }
.a360-sf-message { margin: 1.5rem auto; padding: 1.25rem; border: 1px solid #a7c9ad; border-radius: 8px; background: #f1f8f2; }
.a360-sf-message h2 { margin-top: 0; }
.a360-sf-review { margin: 1rem 0; padding: 1rem; border-radius: 6px; background: #f3f5f7; }
.a360-sf-review h3 { margin: 0 0 .5rem; }
.a360-sf-review p { margin: .3rem 0; }
.a360-sf-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.a360-sf-catalog-chooser > h2 { margin: 0 0 .35rem; font-family: Oswald, "Arial Narrow", Arial, sans-serif; font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; }
.a360-sf-catalog-chooser > p { margin: 0 0 1.25rem; color: var(--a360-sf-muted); }
.a360-sf-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.a360-sf-catalog-card { min-width: 0; }
.a360-sf-catalog-link { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .25rem .8rem; min-height: 124px; padding: 1rem; border: 1px solid var(--a360-sf-border); border-radius: 10px; background: #fff; color: var(--a360-sf-text); text-decoration: none; box-shadow: 0 4px 16px rgb(32 33 36 / 5%); }
.a360-sf-catalog-link:hover { border-color: var(--a360-sf-accent); background: #fffafa; }
.a360-sf-catalog-link:focus-visible, .a360-sf-catalog-back:focus-visible { outline: 3px solid #145da0; outline-offset: 3px; }
.a360-sf-catalog-icon { grid-row: span 2; display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 50%; background: #fff0f0; font-size: 1.75rem; }
.a360-sf-catalog-name { font-size: 1.08rem; font-weight: 700; line-height: 1.3; }
.a360-sf-catalog-action { color: #a40000; font-size: .92rem; font-weight: 700; }
.a360-sf-catalog-back { display: inline-block; min-height: 44px; margin: 0 0 1rem; padding: .6rem .8rem; border: 2px solid #000; border-radius: 6px; background: #fff; color: #000; font-weight: 750; line-height: 1.3; text-decoration: none; }
.a360-sf-catalog-back:hover { background: #f3f5f7; }
.a360-sf-catalog-panel[hidden], .a360-sf-catalog-chooser[hidden] { display: none !important; }
.a360-sf-catalog:not(.a360-sf-catalog-enhanced) .a360-sf-catalog-panel { display: none; }
.a360-sf-catalog:not(.a360-sf-catalog-enhanced) .a360-sf-catalog-panel:target { display: block; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 600px) { .a360-sf-form { padding: 1rem; border-radius: 8px; } .a360-sf-nav button { flex: 1; } .a360-sf-size-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .a360-sf-catalog-grid { grid-template-columns: minmax(0, 1fr); } .a360-sf-catalog-link { min-height: 100px; } }
@media (prefers-reduced-motion: reduce) { .a360-sf-progress-fill { transition: none; } }
