/* 시요일 — base element defaults + shared interaction states.
   Components add these classes so hover/press/focus stay consistent across the system. */

a { color: var(--siyoil-red, #c8524b); text-decoration: none; }
a:hover { opacity: 0.72; }

/* Pressable surface — cards, tiles, icon targets */
.siy-pressable { cursor: pointer; transition: transform .08s ease, filter .15s ease, opacity .15s ease; }
.siy-pressable:active { transform: scale(0.98); }

/* Buttons */
.siy-btn { cursor: pointer; transition: filter .15s ease, transform .08s ease, opacity .15s ease; -webkit-tap-highlight-color: transparent; }
.siy-btn:hover:not(:disabled) { filter: brightness(0.96); }
.siy-btn:active:not(:disabled) { transform: scale(0.985); }
.siy-btn:disabled { cursor: not-allowed; }

/* Icon tap targets */
.siy-icon-btn { cursor: pointer; transition: background-color .15s ease, opacity .15s ease, transform .08s ease; }
.siy-icon-btn:hover { background-color: rgba(23,22,20,0.05); }
.siy-icon-btn:active { transform: scale(0.92); }

/* Inline text links / meta */
.siy-textlink { cursor: pointer; transition: opacity .15s ease; }
.siy-textlink:hover { opacity: 0.6; }

/* Native input reset used by Input/Checkbox/Radio */
.siy-field-input { font-family: var(--font-sans); font-size: var(--fs-body); color: var(--text-primary); background: transparent; border: none; outline: none; width: 100%; padding: 0; }
.siy-field-input::placeholder { color: var(--text-label); }
