.shop-skip-link { position: fixed; z-index: 10000; top: 12px; left: 16px; transform: translateY(-160%); display: inline-flex; align-items: center; min-height: 48px; padding: 12px 20px; background: #fff; color: #17212b; border-radius: 8px; font-weight: 700; text-decoration: underline; }
.shop-skip-link:focus { transform: none; outline: 3px solid #126f9e !important; outline-offset: 3px !important; }
#shop-main:focus { outline: none; }

.wrapper--page :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #146da5 !important; outline-offset:3px; }
.wrapper--page .pc-listing { --pc-muted:#62626c; }
.wrapper--page .cat-listing { --pc-muted:#62626c; }
.campaign-video__media { opacity:0; }
.campaign-video__media.is-ready { opacity:1; }
.pc-grid > li[hidden] { display:none; }
.pc-grid > li, .pc-grid .pc-tile { grid-row:span 7; }
.pc-tile__spec-note { margin:0 8px 10px; font-size:12px; line-height:1.5; color:#62626c; }
.pc-tile__specs dd { overflow-wrap:anywhere; }
.pc-tile__compare { position:relative; z-index:2; justify-self:start; margin:14px 8px 0; min-height:44px; }
.pc-toolbar .pc-chips { margin-left:auto; }
.pc-toolbar__tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; }
.pc-toolbar__tools [hidden] { display:none; }
.pc-sort { display:flex; align-items:center; gap:10px; color:#454550; font-size:14px; }
.pc-sort select { height:40px; min-height:40px; max-width:100%; border:1px solid #d4d4d8; border-radius:999px !important; /* theme forces square fields with !important */ padding:0 38px 0 16px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%2317212b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center/14px no-repeat; color:#17212b; font-family:inherit; font-size:15px; font-weight:600; line-height:1; cursor:pointer; -webkit-appearance:none; appearance:none; transition:border-color 160ms ease; }
.pc-sort select:hover { border-color:#111; }
.pc-sort select:focus-visible { outline:2px solid #111; outline-offset:2px; }
.compare-bar__inner { flex-wrap:wrap; }
.compare-bar__message:empty { display:none; }
.compare-bar__message { flex-basis:100%; margin:0; color:#762016; font-size:13px; line-height:1.5; }
.compare-page__hint { margin:16px 0; font-size:14px; color:#454550; }
.cfg-availability-help { margin:0 16px 12px; padding:14px 16px; border-radius:8px; background:#fff7eb; color:#754016; font-size:14px; line-height:1.6; }
.cfg-availability-help[hidden] { display:none; }
.cfg-availability-help p { margin:0 0 10px; }
.cfg-availability-help a { color:inherit; text-decoration:underline; }
.cfg-fit-notice [data-fit-proposal] { display:grid; gap:6px; padding-top:12px; border-top:1px solid #d6b7b0; }
.cfg-fit-notice .cfg-fit-notice__before { color:#7a4a41; font-size:13px; }
.cfg-fit-notice .cfg-fit-notice__after { font-weight:700; }
.cfg-fit-notice .cfg-fit-notice__total { margin-top:6px; font-weight:700; font-variant-numeric:tabular-nums; }
@media(max-width:900px) {
    .pc-toolbar .pc-chips { margin-left:0; }
    .pc-toolbar__tools { flex-basis:100%; }
}
@media(max-width:600px) {
    .pc-sort { width:100%; justify-content:space-between; }
    .pc-sort select { min-width:0; flex:1; height:44px; min-height:44px; font-size:16px; }
    .cfg-opt__pick { min-height:64px; }
    .cfg-opt__title { font-size:15px; line-height:1.45; }
    .cfg-opt__delta { margin-top:5px; font-size:14px; }
    .cfg-opt__info { min-width:44px; min-height:44px; }
    .cfg-search input { font-size:16px; }
    .cfg-fit-notice__actions .pc-btn { width:100%; justify-content:center; }
    .cfg-fit-notice__actions a { min-height:44px; display:inline-flex; align-items:center; }
    .cfg-availability-help { margin-inline:10px; }
}
@media(prefers-reduced-motion:reduce) { .pc-grid.is-filtered > li { animation:none; } }

.service-options { margin-top: 36px; padding-top: 24px; border-top: 1px solid #dce3e8; }
.service-options__table { max-width: 100%; overflow-x: auto; }
.service-options table { width: 100%; border-collapse: collapse; }
.service-options th, .service-options td { padding: 14px 16px; text-align: left; border-bottom: 1px solid #dce3e8; }
.service-options th { background: #f1f6fa; font-weight: 700; }

.gr-ai-icon { display:inline-block; flex:0 0 auto; vertical-align:middle; color:#145b94; }
.gr-ai-heading { display:flex; align-items:center; gap:10px; }
.gr-ai-label { display:inline-flex; align-items:center; flex:none; gap:6px; color:#145b94; font-size:12px; font-weight:700; line-height:1.4; white-space:nowrap; }
.engagement-panel .gr-ai-heading { flex-wrap:wrap; gap:6px 10px; }
.drawer-ai { display:flex; align-items:center; gap:10px; }
.drawer-ai > span { min-width:0; }
.estimate-advice-icon { display:inline-flex; flex:none; align-items:center; line-height:1; }
