.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);border:none;cursor:pointer;text-decoration:none;transition:background-color var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base)}@supports (corner-shape: squircle){.btn{corner-shape:squircle}}.btn-sm{font-size:var(--btn-sm-size);line-height:var(--btn-sm-line);padding:var(--btn-sm-padding);min-height:var(--btn-sm-min-h)}.btn-md{font-size:var(--btn-md-size);line-height:var(--btn-md-line);padding:var(--btn-md-padding);min-height:var(--btn-md-min-h)}.btn-lg{font-size:var(--btn-lg-size);line-height:var(--btn-lg-line);padding:var(--btn-lg-padding);min-height:var(--btn-lg-min-h)}.btn-primary{background-color:var(--green-700);color:var(--sand-50)}.btn-primary:hover{background-color:var(--green-600);box-shadow:var(--shadow-lg)}.btn-primary:active{background-color:var(--green-600);box-shadow:none}.btn-primary:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--green-950),var(--focus-ring)}.btn-primary:disabled,.btn-primary.is-disabled{background-color:var(--green-700);opacity:.3;cursor:not-allowed;box-shadow:none;pointer-events:none}.btn-secondary{background-color:var(--sand-200);color:var(--sand-900)}.btn-secondary:hover{background-color:var(--sand-300);box-shadow:var(--shadow-md)}.btn-secondary:active{background-color:var(--sand-400);box-shadow:none}.btn-secondary:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--focus-color),var(--focus-ring)}.btn-secondary:disabled,.btn-secondary.is-disabled{opacity:.3;cursor:not-allowed;box-shadow:none;pointer-events:none}.btn-icon{font-size:1.2em;line-height:1;flex-shrink:0}.text-link{display:inline;font-family:var(--font-family);font-weight:var(--font-weight-semibold);color:var(--sand-900);text-decoration:underline;cursor:pointer;transition:color var(--transition-base)}.text-link-sm{font-size:var(--btn-sm-size)}.text-link-md{font-size:var(--btn-md-size)}.text-link-lg{font-size:var(--btn-lg-size)}.text-link:hover{color:var(--green-600)}.text-link:active{color:var(--green-700)}.text-link:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--focus-color),var(--focus-ring);border-radius:2px}.text-link:disabled,.text-link.is-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.tag{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-md);text-transform:uppercase;white-space:nowrap;overflow:hidden}.tag-sm{font-size:var(--text-xs-size);padding:4px 8px}.tag-md{font-size:var(--text-sm-size);padding:6px 10px}.tag-lg{font-size:var(--text-lg-size);padding:8px 12px}@supports (corner-shape: squircle){.tag{corner-shape:squircle}}.tag-product{background-color:var(--signal-rot);color:var(--white)}.tag-icon{font-size:1.4em;line-height:1;flex-shrink:0}.tag-rating{background-color:var(--sand-100);color:var(--sand-900);text-transform:none;font-weight:var(--font-weight-medium);font-size:var(--text-lg-size);padding:8px 12px;gap:var(--space-1)}.tag-rating-score{font-weight:var(--font-weight-bold)}.tag-rating-star{color:var(--stern-gelb);font-size:1.25em;line-height:1;flex-shrink:0}.tag-rating-link{font-weight:var(--font-weight-medium);color:var(--sand-900);text-decoration:underline;cursor:pointer;transition:color var(--transition-base)}.tag-rating-link:hover{color:var(--green-600)}.input-group{display:flex;align-items:center;font-family:var(--font-family);font-weight:var(--font-weight-medium);color:var(--sand-900);border:1.5px solid var(--sand-400);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input-group:focus-within{outline:none;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.input-field{flex:1;min-width:0;font-family:inherit;font-weight:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none;padding:0}.input-field::placeholder{color:var(--sand-600)}.input{display:block;width:100%;font-family:var(--font-family);font-weight:var(--font-weight-medium);color:var(--sand-900);border:1.5px solid var(--sand-400);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input::placeholder{color:var(--sand-600)}.input:focus{outline:none;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.input:disabled,.input.is-disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.input-pill,.input-group.input-pill{border-radius:var(--radius-full);background-color:var(--sand-50)}.input-box,.input-group.input-box{border-radius:var(--radius-lg);background-color:var(--white);border-width:2px}@supports (corner-shape: squircle){.input-box,.input-group.input-box{corner-shape:squircle}}.input-md,.input-group.input-md{height:48px;font-size:var(--text-lg-size);padding:4px 12px 4px 20px}.input-lg,.input-group.input-lg{height:64px;font-size:var(--text-xl-size);padding:8px 24px}.input-label{display:block;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--sand-900);margin-bottom:var(--space-1)}.input-wrap{display:flex;flex-direction:column}.input-icon{font-size:1.4em;line-height:1;color:var(--sand-600);flex-shrink:0;margin-left:var(--space-2)}.input-error,.input-group.input-error{border-color:var(--signal-rot)}.input-error:focus,.input-group.input-error:focus-within{border-color:var(--signal-rot);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal-rot) 20%,transparent)}.input-success,.input-group.input-success{border-color:var(--green-700)}.input-success:focus,.input-group.input-success:focus-within{border-color:var(--green-700);box-shadow:0 0 0 3px color-mix(in srgb,var(--green-700) 20%,transparent)}.input-message{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-family);font-size:var(--text-sm-size);line-height:var(--text-sm-line);margin-top:var(--space-1)}.input-message--error{color:var(--signal-rot)}.input-message--success{color:var(--green-700)}.select{display:block;width:100%;font-family:var(--font-family);font-weight:var(--font-weight-medium);color:var(--sand-900);border:1.5px solid var(--sand-400);outline:none;appearance:none;-webkit-appearance:none;background-color:var(--white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256'%3E%3Cpath fill='none' stroke='%238F7559' stroke-width='24' stroke-linecap='round' stroke-linejoin='round' d='M208 96L128 176L48 96'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:48px;cursor:pointer;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.select:focus{outline:none;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.select:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.select:invalid,.select option[value=""]{color:var(--sand-600)}.select:not(:invalid){color:var(--sand-900)}.select-pill{border-radius:var(--radius-full);background-color:var(--sand-50)}.select-box{border-radius:var(--radius-lg);background-color:var(--white);border-width:2px}@supports (corner-shape: squircle){.select-box{corner-shape:squircle}}.select-md{height:48px;font-size:var(--text-lg-size);padding:4px 48px 4px 20px}.select-lg{height:64px;font-size:var(--text-xl-size);padding:8px 48px 8px 24px}.select-error{border-color:var(--signal-rot)}.select-error:focus{border-color:var(--signal-rot);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal-rot) 20%,transparent)}.textarea{display:block;width:100%;font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--text-lg-size);line-height:var(--text-lg-line);color:var(--sand-900);border:2px solid var(--sand-400);border-radius:var(--radius-lg);background-color:var(--white);outline:none;padding:12px 20px;min-height:120px;max-height:360px;resize:vertical;field-sizing:content;transition:border-color var(--transition-base),box-shadow var(--transition-base)}@supports (corner-shape: squircle){.textarea{corner-shape:squircle}}.textarea::placeholder{color:var(--sand-600)}.textarea:focus{outline:none;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.textarea:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.textarea-error{border-color:var(--signal-rot)}.textarea-error:focus{border-color:var(--signal-rot);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal-rot) 20%,transparent)}.check,.radio{display:inline-flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;font-family:var(--font-family);font-size:var(--text-lg-size);line-height:var(--text-lg-line);font-weight:var(--font-weight-medium);color:var(--sand-900)}.check-input,.radio-input{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;border:2px solid var(--sand-500);background-color:var(--white);cursor:pointer;margin:3px 0 0;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.check-input{border-radius:var(--radius-sm)}.radio-input{border-radius:50%}@supports (corner-shape: squircle){.check-input{corner-shape:squircle}}.check:hover .check-input,.radio:hover .radio-input{border-color:var(--green-600)}.check-input:focus-visible,.radio-input:focus-visible{outline:2px solid transparent;outline-offset:2px;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.check-input:checked{background-color:var(--green-700);border-color:var(--green-700);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23FAF7F2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5L6.5 11.5L12.5 4.5'/%3E%3C/svg%3E");background-size:14px;background-position:center;background-repeat:no-repeat}.radio-input:checked{background-color:var(--white);border-color:var(--green-700);border-width:6px}.check:hover .check-input:checked{background-color:var(--green-600);border-color:var(--green-600)}.radio:hover .radio-input:checked{border-color:var(--green-600)}.check-input:disabled,.radio-input:disabled{opacity:.3;cursor:not-allowed}.check-input:disabled~.check-label,.radio-input:disabled~.radio-label{opacity:.3;cursor:not-allowed}.check-label,.radio-label{cursor:pointer}.check-input:disabled~.check-label,.radio-input:disabled~.radio-label{pointer-events:none}.gnav{position:fixed;bottom:0;left:0;right:0;z-index:9000;display:flex;align-items:center;justify-content:center;gap:var(--space-1);height:48px;padding:var(--space-1) var(--space-4);background:color-mix(in srgb,var(--sand-900) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;translate:0 100%;transition:opacity .3s ease,translate .3s ease;pointer-events:none}.gnav-trigger{position:fixed;bottom:0;left:0;right:0;height:8px;z-index:8999}.gnav-trigger:hover+.gnav,.gnav:hover{opacity:1;translate:0 0;pointer-events:auto}.gnav-link{display:flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:var(--radius-full);font-family:var(--font-family);font-size:var(--text-sm-size);font-weight:var(--font-weight-medium);color:var(--sand-300);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.gnav-link i{font-size:16px}.gnav-link:hover{color:var(--white);background:color-mix(in srgb,var(--white) 10%,transparent)}.gnav-link.is-active{color:var(--white);background:color-mix(in srgb,var(--white) 15%,transparent)}
