/* Public shop.warranty: a phone lookup and readable per-product expiry statuses on desktop/mobile. */
.shop-page .warranty-lookup { max-width: 850px; margin: 32px auto; padding: 0 20px 40px; color: #203343; }
.warranty-lookup nav, .warranty-lookup header p { color: #586575; font-size: 14px; line-height: 1.7; }
.warranty-lookup h1 { margin: 26px 0 12px; font-size: clamp(26px, 4vw, 36px); }
.warranty-search, .warranty-result { padding: 24px; margin: 20px 0; background: #fff; border: 1px solid #dce3e9; border-radius: 14px; }
.warranty-search label { display: block; margin-bottom: 10px; font-weight: 600; }
.warranty-search-controls { display: flex; gap: 12px; }
.shop-page .warranty-search input { flex: 1; min-width: 0; border: 1px solid #9eacba; border-radius: 8px; padding: 12px; font-size: 16px; background: #fff; color: #203343; }
.warranty-search button { border: 0; border-radius: 8px; padding: 12px 20px; background: #17654e; color: #fff; font-weight: 700; cursor: pointer; }
.warranty-search :is(input, button):focus-visible { outline: 3px solid #7dbba4; outline-offset: 3px; }
.warranty-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid #e4e9ee; }
.warranty-item p, .warranty-result > p, .warranty-note { font-size: 14px; color: #586575; line-height: 1.6; }
.warranty-status { flex-shrink: 0; border-radius: 6px; padding: 8px 12px; font-size: 13px; font-weight: 700; }
.warranty-status.is-active { background: #e6f4ec; color: #175d36; }
.warranty-status.is-expired, .warranty-error { background: #fff0ee; color: #a33024; }
.warranty-status.is-unknown { background: #fff4d8; color: #765405; }
.warranty-service { display: inline-block; margin-top: 20px; }
@media (max-width: 560px) {
    .warranty-search-controls, .warranty-item { flex-direction: column; align-items: stretch; }
    .warranty-search, .warranty-result { padding: 18px; }
    .warranty-status { align-self: flex-start; }
}
