/* Native SPI owner/reviewer components; all colors follow Theme Studio. */
.spi-business { --biz-ink:var(--luperiq-text,#163d46); --biz-accent:var(--luperiq-primary,#087b83); --biz-paper:var(--luperiq-surface,#fff); --biz-line:color-mix(in srgb,var(--biz-ink) 20%,transparent); --biz-soft:color-mix(in srgb,var(--biz-paper) 94%,var(--biz-accent)); max-width:76rem; }
.spi-business * { box-sizing:border-box; }
.spi-business [hidden] { display:none !important; }
.spi-business :is(h1,h2,h3,p,dd,a) { overflow-wrap:anywhere; }
.spi-business h1 { font-size:clamp(2.2rem,5vw,4rem); line-height:1.1; letter-spacing:-.035em; margin:.5rem 0 1rem; }
.spi-business h2 { font-size:clamp(1.4rem,3vw,2rem); margin:0 0 .75rem; }
.spi-business p { line-height:1.65; }
.spi-business-lead { max-width:48rem; font-size:1.15rem; }
.spi-business a,.spi-business a:visited { color:var(--biz-accent); font-weight:700; text-underline-offset:.22em; }
.spi-business-actions,.spi-business-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin:1.1rem 0; }
.spi-business :is(button,.spi-business-button) { display:inline-flex; justify-content:center; align-items:center; gap:.4rem; min-height:46px; padding:.7rem 1.1rem; border:1px solid var(--biz-accent); border-radius:.7rem; font:inherit; font-weight:750; background:var(--biz-accent); color:#fff; text-decoration:none; cursor:pointer; }
.spi-business :is(button,.spi-business-button):hover { filter:brightness(.93); }
.spi-business button.secondary { color:var(--biz-ink); background:var(--biz-paper); border-color:var(--biz-line); }
.spi-business button:disabled { opacity:.55; cursor:wait; }
.spi-business :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #c77c15; outline-offset:4px; }
.spi-business-grid,.spi-business-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1.2rem; margin-block:1.5rem; }
.spi-business :is(.spi-business-card,.spi-business-panel,.spi-business-steps article) { background:var(--biz-paper); border:1px solid var(--biz-line); border-radius:1.25rem; padding:clamp(1rem,3vw,1.8rem); box-shadow:0 .5rem 2rem color-mix(in srgb,var(--biz-ink) 5%,transparent); margin-block:1.2rem; }
.spi-business-steps article { margin:0; }
.spi-business-steps article > span { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--biz-soft); color:var(--biz-accent); font-weight:850; margin-bottom:1rem; }
.spi-business-badge { display:inline-block; padding:.3rem .7rem; border-radius:99px; background:var(--biz-soft); color:var(--biz-ink); font-size:.9rem; font-weight:750; }
.spi-business-card > header { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin-bottom:1rem; }
.spi-business-card header time { font-size:.88rem; }
.spi-business-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.spi-business-form > .wide { grid-column:1/-1; }
.spi-business label { display:grid; gap:.45rem; font-weight:700; }
.spi-business :is(input,select,textarea) { min-width:0; width:100%; min-height:46px; padding:.7rem; border:1px solid var(--biz-line); border-radius:.6rem; font:inherit; color:var(--biz-ink); background:var(--biz-paper); }
.spi-business textarea { resize:vertical; line-height:1.55; }
.spi-business label.check { display:flex; align-items:flex-start; gap:.7rem; line-height:1.5; }
.spi-business input[type=checkbox] { width:1.3rem; min-height:1.3rem; margin-top:.2rem; flex-shrink:0; }
.spi-business fieldset { min-width:0; border:1px solid var(--biz-line); border-radius:.7rem; padding:1rem; }
.spi-business legend { font-weight:750; padding:0 .4rem; }
.spi-business summary { cursor:pointer; padding:.8rem 0; font-weight:750; }
.spi-business small { font-weight:400; line-height:1.5; }
.spi-business-hours { display:grid; gap:.8rem; }
.spi-business-hours > div { padding:.7rem; border-bottom:1px solid var(--biz-line); }
.spi-business-time-row { display:flex; align-items:end; flex-wrap:wrap; gap:.6rem; margin:.6rem 0; }
.spi-business-time-row label { flex:1 1 7rem; }
.spi-business-time-row button { min-width:3rem; }
.spi-business-note { white-space:pre-wrap; border-left:3px solid var(--biz-accent); padding:.8rem 1rem; background:var(--biz-soft); }
.spi-business-filters { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:1rem; align-items:end; background:var(--biz-soft); padding:1.1rem; border-radius:1rem; margin:1.5rem 0; }
.spi-business-comparison { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.spi-business-comparison > section { min-width:0; background:var(--biz-soft); border-radius:.8rem; padding:1rem; }
.spi-business dl { margin:0; }
.spi-business dt { margin-top:.8rem; font-size:.85rem; font-weight:800; }
.spi-business dd { margin:.25rem 0 1rem; white-space:pre-wrap; }
.spi-business-pagination { justify-content:center; }
.spi-business [role=status]:not(:empty) { padding:1rem; border-radius:.7rem; background:var(--biz-soft); }
.spi-business [role=alert]:not(:empty) { padding:1rem; border:1px solid #ac463b; border-radius:.7rem; }
@media(max-width:760px) { .spi-business-filters { grid-template-columns:1fr 1fr; } .spi-business-filters label:last-of-type { grid-column:1/-1; } .spi-business-comparison { grid-template-columns:1fr; } }
@media(max-width:480px) { .spi-business-form,.spi-business-filters { grid-template-columns:1fr; } .spi-business-actions > :is(button,.spi-business-button) { flex:1 1 auto; } .spi-business-pagination { gap:.5rem; } .spi-business-pagination button { padding:.7rem; } }
@media(prefers-reduced-motion:reduce) { .spi-business * { scroll-behavior:auto !important; } }
