.boats-list{width:100%}.boats-list__header{margin-bottom:var(--northstar-spacing-lg);padding-bottom:var(--northstar-spacing-md);border-bottom:2px solid var(--northstar-color-gray-100)}.boats-list__count{font-size:var(--northstar-font-size-base);color:var(--northstar-color-navy);font-weight:600}.boats-list__grid{gap:var(--northstar-spacing-lg);margin-bottom:var(--northstar-spacing-xl);grid-template-columns:1fr;display:grid}.boats-list__observer{height:1px;margin-top:var(--northstar-spacing-xl)}.boats-list__loading-more{align-items:center;gap:var(--northstar-spacing-md);padding:var(--northstar-spacing-2xl);color:var(--northstar-color-navy);flex-direction:column;display:flex}.boats-list__spinner{border:4px solid var(--northstar-color-gray-200);border-top-color:var(--northstar-color-gold);border-radius:var(--northstar-radius-full);width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boats-list__empty{text-align:center;padding:var(--northstar-spacing-4xl)var(--northstar-spacing-lg);color:var(--northstar-color-navy)}.boats-list__empty-icon{color:var(--northstar-color-gray-200);margin:0 auto var(--northstar-spacing-xl)}.boats-list__empty-text{font-size:var(--northstar-font-size-xl);margin-bottom:var(--northstar-spacing-sm);color:var(--northstar-color-navy);font-weight:600}.boats-list__empty-subtext{color:#10014eb3}.boats-list__error{text-align:center;padding:var(--northstar-spacing-4xl)var(--northstar-spacing-lg);color:var(--northstar-color-navy)}.boats-list__error p{margin-bottom:var(--northstar-spacing-lg);font-size:var(--northstar-font-size-lg)}.boats-list__retry-button{padding:var(--northstar-spacing-md)var(--northstar-spacing-2xl);background-color:var(--northstar-color-navy);color:var(--northstar-color-white);border-radius:var(--northstar-radius-full);cursor:pointer;transition:all var(--northstar-transition-base);box-shadow:var(--northstar-shadow-md);border:none;font-weight:600}.boats-list__retry-button:hover{background-color:var(--northstar-color-gold);color:var(--northstar-color-navy);box-shadow:var(--northstar-shadow-lg);transform:translateY(-2px)}.boats-list__end{text-align:center;padding:var(--northstar-spacing-2xl);color:#10014eb3;font-size:var(--northstar-font-size-sm)}@media (min-width:640px){.boats-list__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.boats-list__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.boats-list__grid{grid-template-columns:repeat(3,1fr)}}
.boats-listing-page{padding:var(--northstar-spacing-2xl)0;background:linear-gradient(to bottom,var(--northstar-color-gray-50),var(--northstar-color-white));min-height:60vh}.boats-listing-page__container{max-width:var(--northstar-max-width-7xl);padding:0 var(--northstar-spacing-md);gap:var(--northstar-spacing-xl);grid-template-columns:1fr;margin:0 auto;display:grid}.boats-listing-page__filter-button{align-items:center;gap:var(--northstar-spacing-sm);padding:var(--northstar-spacing-md)var(--northstar-spacing-xl);background-color:var(--northstar-color-navy);color:var(--northstar-color-white);border-radius:var(--northstar-radius-full);cursor:pointer;transition:all var(--northstar-transition-base);margin:0 auto var(--northstar-spacing-xl);box-shadow:var(--northstar-shadow-md);border:none;font-weight:600;display:flex}.boats-listing-page__filter-button:hover{background-color:var(--northstar-color-gold);color:var(--northstar-color-navy);box-shadow:var(--northstar-shadow-lg);transform:translateY(-2px)}@media (min-width:1024px){.boats-listing-page__container{grid-template-columns:260px 1fr}.boats-listing-page__filter-button{display:none}}@media (min-width:1280px){.boats-listing-page__container{grid-template-columns:280px 1fr}}
.compare-float{bottom:var(--northstar-spacing-xl);right:var(--northstar-spacing-xl);background:var(--northstar-color-white);border-radius:var(--northstar-radius-2xl);z-index:var(--northstar-z-fixed);border:2px solid var(--northstar-color-gray-100);width:320px;animation:.4s cubic-bezier(.34,1.56,.64,1) compareFloatIn;position:fixed;overflow:hidden;box-shadow:0 8px 32px #10014e33,0 2px 8px #10014e1a}@keyframes compareFloatIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.compare-float__header{align-items:center;gap:var(--northstar-spacing-sm);padding:var(--northstar-spacing-md)var(--northstar-spacing-lg);background:linear-gradient(135deg,var(--northstar-color-navy)0%,var(--northstar-color-navy-light)100%);color:var(--northstar-color-white);display:flex}.compare-float__icon-wrapper{background:var(--northstar-color-gold);border-radius:var(--northstar-radius-lg);width:36px;height:36px;color:var(--northstar-color-navy);justify-content:center;align-items:center;display:flex}.compare-float__title{font-family:var(--northstar-font-serif);font-size:var(--northstar-font-size-base);flex:1;font-weight:700}.compare-float__count{padding:var(--northstar-spacing-xs)var(--northstar-spacing-sm);border-radius:var(--northstar-radius-full);font-size:var(--northstar-font-size-xs);background:#fff3;font-weight:700}.compare-float__boats{padding:var(--northstar-spacing-sm);gap:var(--northstar-spacing-xs);flex-direction:column;max-height:200px;display:flex;overflow-y:auto}.compare-float__boat{align-items:center;gap:var(--northstar-spacing-sm);padding:var(--northstar-spacing-sm);background:var(--northstar-color-gray-50);border-radius:var(--northstar-radius-lg);transition:background-color var(--northstar-transition-fast);display:flex}.compare-float__boat:hover{background:var(--northstar-color-gray-100)}.compare-float__boat-image{object-fit:cover;border-radius:var(--northstar-radius-md);flex-shrink:0;width:48px;height:36px}.compare-float__boat-info{flex-direction:column;flex:1;min-width:0;display:flex}.compare-float__boat-name{font-size:var(--northstar-font-size-xs);color:var(--northstar-color-navy);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.compare-float__boat-model{font-size:var(--northstar-font-size-xs);color:#10014e99;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.compare-float__remove-button{color:#10014e66;cursor:pointer;border-radius:var(--northstar-radius-full);width:24px;height:24px;transition:all var(--northstar-transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.compare-float__remove-button:hover{color:#dc2626;background:#dc26261a}.compare-float__actions{gap:var(--northstar-spacing-sm);padding:var(--northstar-spacing-md);border-top:1px solid var(--northstar-color-gray-100);display:flex}.compare-float__clear-button{padding:var(--northstar-spacing-sm)var(--northstar-spacing-md);border:2px solid var(--northstar-color-gray-200);border-radius:var(--northstar-radius-lg);color:var(--northstar-color-navy);font-size:var(--northstar-font-size-sm);cursor:pointer;transition:all var(--northstar-transition-base);background:0 0;flex:1;font-weight:600}.compare-float__clear-button:hover{border-color:var(--northstar-color-navy);background:var(--northstar-color-gray-50)}.compare-float__compare-button{justify-content:center;align-items:center;gap:var(--northstar-spacing-xs);padding:var(--northstar-spacing-sm)var(--northstar-spacing-md);background:var(--northstar-color-gold);border-radius:var(--northstar-radius-lg);color:var(--northstar-color-navy);font-size:var(--northstar-font-size-sm);cursor:pointer;transition:all var(--northstar-transition-base);border:none;flex:2;font-weight:700;display:flex}.compare-float__compare-button:hover{background:var(--northstar-color-gold-dark);transform:translateY(-1px);box-shadow:0 4px 12px #eeb21166}.compare-float__compare-button svg{transition:transform var(--northstar-transition-base)}.compare-float__compare-button:hover svg{transform:translate(2px)}@media (max-width:640px){.compare-float{left:var(--northstar-spacing-md);right:var(--northstar-spacing-md);bottom:var(--northstar-spacing-md);width:auto}.compare-float__boats{max-height:150px}}
