/* Premium Brand System Phase P1 */
:root {
  --eb-ink: 15 23 42;
  --eb-muted: 71 85 105;
  --eb-line: 226 232 240;
  --eb-sky: 14 165 233;
  --eb-sky-dark: 3 105 161;
  --eb-navy: 2 6 23;
  --eb-gold: 245 158 11;
  --eb-surface: 255 255 255;
  --eb-soft: 248 250 252;
  --eb-radius-lg: 1.5rem;
  --eb-radius-xl: 1.75rem;
  --eb-shadow-soft: 0 14px 40px rgb(15 23 42 / .07);
  --eb-shadow-premium: 0 28px 80px rgb(15 23 42 / .13);
  --eb-ring: 0 0 0 4px rgb(14 165 233 / .14);
}
html { scroll-behavior: smooth; }
body { color: rgb(var(--eb-ink)); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: rgb(186 230 253); color: rgb(12 74 110); }
.premium-brand-surface { background: radial-gradient(circle at top left, rgb(224 242 254 / .65), transparent 34rem), radial-gradient(circle at top right, rgb(254 243 199 / .45), transparent 28rem), linear-gradient(180deg, #fff 0%, rgb(248 250 252) 100%); }
.luxury-section { position:relative; overflow:hidden; border-radius:2.25rem; background:linear-gradient(135deg, rgb(2 6 23), rgb(15 23 42) 48%, rgb(12 74 110)); color:white; box-shadow:var(--eb-shadow-premium); }
.luxury-section::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, rgb(125 211 252 / .22), transparent 30rem), radial-gradient(circle at 82% 12%, rgb(251 191 36 / .14), transparent 22rem); pointer-events:none; }
.luxury-section > * { position:relative; z-index:1; }
.glass-panel { border:1px solid rgb(255 255 255 / .18); background:rgb(255 255 255 / .10); backdrop-filter:blur(18px); box-shadow:0 22px 60px rgb(2 6 23 / .18); }
.premium-divider { height:1px; background:linear-gradient(90deg, transparent, rgb(203 213 225), transparent); }
.premium-kicker { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; border:1px solid rgb(125 211 252 / .35); background:rgb(240 249 255); color:rgb(var(--eb-sky-dark)); padding:.4rem .9rem; font-size:.72rem; font-weight:950; letter-spacing:.11em; text-transform:uppercase; box-shadow:0 10px 26px rgb(14 165 233 / .10); }
.premium-heading { letter-spacing:-.055em; line-height:.95; color:rgb(var(--eb-ink)); }
.premium-subtext { color:rgb(var(--eb-muted)); line-height:1.75; }
.premium-image-overlay::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgb(2 6 23 / .08), transparent 38%, rgb(2 6 23 / .58)); pointer-events:none; }
.premium-focus:focus-visible { outline:none; box-shadow:var(--eb-ring); }

.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.input { width:100%; border:1px solid rgb(203 213 225); border-radius:1rem; padding:.85rem 1rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); color:rgb(var(--eb-ink)); box-shadow:0 1px 0 rgb(255 255 255 / .75) inset; transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease; }
.input:focus { outline:none; border-color:rgb(var(--eb-sky)); box-shadow:var(--eb-ring), 0 10px 28px rgb(15 23 42 / .06); background:white; }
.label { display:block; margin-bottom:.45rem; font-size:.82rem; font-weight:900; letter-spacing:.015em; color:rgb(51 65 85); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; border-radius:999px; padding:.82rem 1.18rem; font-weight:950; letter-spacing:-.01em; transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease; }
.btn:hover { transform: translateY(-2px); } .btn:active { transform: translateY(0); } .btn:focus-visible { outline:none; box-shadow:var(--eb-ring), 0 14px 30px rgb(15 23 42 / .10); }
.btn-primary { background:linear-gradient(135deg, rgb(2 132 199), rgb(14 165 233) 52%, rgb(56 189 248)); color:white; box-shadow:0 16px 34px rgb(2 132 199 / .26), inset 0 1px 0 rgb(255 255 255 / .22); }
.btn-primary:hover { background:linear-gradient(135deg, rgb(3 105 161), rgb(2 132 199)); box-shadow:0 20px 44px rgb(2 132 199 / .32), inset 0 1px 0 rgb(255 255 255 / .18); }
.btn-dark { background:linear-gradient(135deg, rgb(2 6 23), rgb(15 23 42)); color:white; box-shadow:0 14px 34px rgb(2 6 23 / .18); }
.btn-light { background:rgb(255 255 255 / .94); color:rgb(15 23 42); border:1px solid rgb(203 213 225); box-shadow:0 10px 24px rgb(15 23 42 / .06); } .btn-light:hover { border-color:rgb(125 211 252); color:rgb(3 105 161); }
.card { border:1px solid rgb(var(--eb-line)); border-radius:var(--eb-radius-lg); background:linear-gradient(180deg,#fff,rgb(248 250 252)); box-shadow:var(--eb-shadow-soft); }
.file-drop { min-height: 12rem; }
.file-drop input:focus-visible + span { outline: 2px solid rgb(14 165 233 / .35); }

[x-cloak] { display: none !important; }

/* Phase 31 mobile/PWA polish */
.safe-bottom { padding-bottom: env(safe-area-inset-bottom); }
.mobile-sticky-action { position: sticky; bottom: 0; z-index: 30; padding: .75rem; padding-bottom: calc(.75rem + env(safe-area-inset-bottom)); background: rgb(255 255 255 / .92); backdrop-filter: blur(12px); border-top: 1px solid rgb(226 232 240); }
.touch-target { min-height: 44px; min-width: 44px; }
@media (max-width: 640px) {
  .btn { min-height: 44px; padding: .75rem 1rem; }
  .card { border-radius: 1.25rem; }
  input, select, textarea { font-size: 16px; }
  table.mobile-stack, table.mobile-stack thead, table.mobile-stack tbody, table.mobile-stack th, table.mobile-stack td, table.mobile-stack tr { display:block; }
  table.mobile-stack thead { display:none; }
  table.mobile-stack tr { border-bottom:1px solid rgb(226 232 240); padding:.75rem; }
  table.mobile-stack td { padding:.35rem 0; }
}


/* Phase A public UI polish */
.public-shell { background: radial-gradient(circle at top left, rgb(224 242 254 / .70), transparent 34rem), radial-gradient(circle at top right, rgb(254 243 199 / .34), transparent 28rem), linear-gradient(180deg, #ffffff 0%, rgb(248 250 252) 100%); }
.public-section { padding-block: 4.75rem; }
.eyebrow { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; border:1px solid rgb(186 230 253); background:linear-gradient(180deg,rgb(240 249 255),rgb(224 242 254)); color:rgb(3 105 161); padding:.4rem .85rem; font-size:.72rem; font-weight:950; letter-spacing:.105em; text-transform:uppercase; box-shadow:0 10px 24px rgb(14 165 233 / .09); }
.premium-card { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.85rem; background:linear-gradient(180deg,#fff, rgb(248 250 252)); box-shadow:0 20px 52px rgb(15 23 42 / .08); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease; } .premium-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgb(255 255 255 / .55), transparent 38%); pointer-events:none; } .premium-card > * { position:relative; z-index:1; }
.premium-card:hover { transform:translateY(-4px); border-color:rgb(125 211 252); box-shadow:0 28px 72px rgb(15 23 42 / .14); }
.soft-badge { display:inline-flex; align-items:center; gap:.4rem; border-radius:999px; border:1px solid rgb(255 255 255 / .55); background:rgb(248 250 252 / .94); color:rgb(15 23 42); padding:.38rem .74rem; font-size:.74rem; font-weight:950; box-shadow:0 12px 28px rgb(15 23 42 / .14); backdrop-filter:blur(12px); }
.trust-pill { display:flex; align-items:flex-start; gap:.75rem; border-radius:1.25rem; border:1px solid rgb(226 232 240); background:rgb(255 255 255 / .9); padding:1rem; box-shadow:0 10px 30px rgb(15 23 42 / .06); }
.card-arrow { display:inline-flex; align-items:center; justify-content:center; height:2.35rem; width:2.35rem; border-radius:999px; background:linear-gradient(180deg,rgb(240 249 255),rgb(224 242 254)); color:rgb(3 105 161); font-weight:950; box-shadow:0 10px 24px rgb(14 165 233 / .12); transition:transform .2s ease, background-color .2s ease, color .2s ease; }
.premium-card:hover .card-arrow { transform:translateX(2px); background:rgb(14 165 233); color:white; }
.empty-state { border:1px dashed rgb(203 213 225); border-radius:1.75rem; background:linear-gradient(180deg, #fff, rgb(248 250 252)); padding:2rem; color:rgb(71 85 105); }
.form-panel { border:1px solid rgb(226 232 240); border-radius:2rem; background:linear-gradient(180deg,#fff, rgb(248 250 252)); box-shadow:0 24px 70px rgb(15 23 42 / .09); }
.form-section-title { display:flex; align-items:center; gap:.65rem; font-size:.85rem; font-weight:900; color:rgb(15 23 42); text-transform:uppercase; letter-spacing:.06em; }

/* Phase B boat listing and search UX polish */
.boats-hero { box-shadow: inset 0 -1px 0 rgb(255 255 255 / .08); }
.filter-panel { border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(180deg,#fff, rgb(248 250 252)); box-shadow:0 18px 50px rgb(15 23 42 / .08); overflow:hidden; }
.filter-summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; padding:1rem 1.25rem; font-weight:900; color:rgb(15 23 42); background:white; border-bottom:1px solid rgb(226 232 240); list-style:none; }
.filter-summary::-webkit-details-marker { display:none; }
.filter-summary span { border-radius:999px; background:rgb(224 242 254); color:rgb(3 105 161); padding:.25rem .65rem; font-size:.75rem; font-weight:900; }
.filter-chip { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; background:rgb(224 242 254); color:rgb(3 105 161); padding:.45rem .8rem; font-size:.8rem; font-weight:900; box-shadow:0 8px 18px rgb(2 132 199 / .10); }
.filter-chip span { display:inline-flex; align-items:center; justify-content:center; height:1.15rem; width:1.15rem; border-radius:999px; background:rgb(255 255 255 / .75); }
.pagination-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid rgb(226 232 240); background:white; padding:.65rem 1rem; font-size:.875rem; font-weight:900; color:rgb(15 23 42); box-shadow:0 8px 18px rgb(15 23 42 / .05); }
.pagination-pill:hover { border-color:rgb(125 211 252); color:rgb(3 105 161); }
@media (min-width: 1024px) {
  .filter-panel summary { cursor:default; }
}

/* Phase C boat detail conversion polish */
.boat-detail-hero { background: radial-gradient(circle at top left, rgb(224 242 254 / .55), transparent 32rem); }
.detail-badge { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; background:rgb(248 250 252); color:rgb(15 23 42); padding:.45rem .8rem; font-size:.78rem; font-weight:900; border:1px solid rgb(226 232 240); box-shadow:0 8px 20px rgb(15 23 42 / .05); }
.detail-badge-gold { background:rgb(254 243 199); color:rgb(146 64 14); border-color:rgb(253 230 138); }
.boat-gallery-grid { display:grid; gap:1rem; }
.boat-gallery-main { position:relative; min-height:26rem; overflow:hidden; border-radius:2rem; background:rgb(226 232 240); box-shadow:0 24px 70px rgb(15 23 42 / .14); }
.boat-gallery-thumbs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.boat-thumb { height:8.5rem; overflow:hidden; border-radius:1.5rem; background:rgb(226 232 240); border:1px solid rgb(226 232 240); transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.boat-thumb:hover { transform:translateY(-2px); border-color:rgb(125 211 252); box-shadow:0 18px 38px rgb(15 23 42 / .12); }
.detail-stat-grid { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-stat { border:1px solid rgb(226 232 240); border-radius:1.5rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.1rem; box-shadow:0 14px 35px rgb(15 23 42 / .06); }
.detail-stat span { display:block; color:rgb(100 116 139); font-size:.85rem; font-weight:800; }
.detail-stat strong { display:block; margin-top:.3rem; color:rgb(15 23 42); font-size:1.05rem; font-weight:950; }
.amenity-pill { display:flex; align-items:center; gap:.65rem; border-radius:1.25rem; background:rgb(248 250 252); color:rgb(51 65 85); padding:.85rem 1rem; font-weight:800; border:1px solid rgb(226 232 240); }
.amenity-pill span { display:inline-flex; align-items:center; justify-content:center; width:1.45rem; height:1.45rem; border-radius:999px; background:rgb(220 252 231); color:rgb(4 120 87); font-weight:900; }
.detail-info-panel { border:1px solid rgb(226 232 240); border-radius:1.5rem; background:rgb(248 250 252); padding:1.1rem; }
.booking-summary-card, .booking-panel { border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); box-shadow:0 24px 70px rgb(15 23 42 / .10); }
.booking-summary-card { padding:1.5rem; }
.booking-panel { overflow:hidden; }
.booking-panel .btn-primary { box-shadow:0 16px 34px rgb(2 132 199 / .24); }
@media (min-width: 1024px) {
  .boat-gallery-grid { grid-template-columns:minmax(0,1fr) 20rem; }
  .boat-gallery-thumbs { grid-template-columns:1fr; }
  .detail-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .boat-gallery-main { min-height:20rem; border-radius:1.5rem; }
  .boat-thumb { height:6.5rem; border-radius:1.1rem; }
  .detail-stat-grid { grid-template-columns:1fr; }
}

/* Phase G trust and conversion improvements */
.trust-conversion-strip { border:1px solid rgb(186 230 253); border-radius:2rem; background:linear-gradient(135deg, rgb(240 249 255), #fff 55%, rgb(248 250 252)); box-shadow:0 22px 60px rgb(14 165 233 / .10); overflow:hidden; }
.trust-conversion-item { display:flex; gap:.9rem; align-items:flex-start; padding:1rem; border-radius:1.25rem; background:rgb(255 255 255 / .74); border:1px solid rgb(226 232 240); }
.trust-conversion-icon { display:inline-flex; align-items:center; justify-content:center; width:2.55rem; height:2.55rem; border-radius:999px; background:rgb(224 242 254); color:rgb(3 105 161); font-weight:950; flex:0 0 auto; }
.how-it-works-card { position:relative; border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.5rem; box-shadow:0 18px 45px rgb(15 23 42 / .07); }
.how-step-number { display:inline-flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border-radius:999px; background:rgb(15 23 42); color:white; font-weight:950; }
.booking-confidence-note { border:1px solid rgb(186 230 253); border-radius:1.5rem; background:rgb(240 249 255); color:rgb(12 74 110); padding:1rem; font-size:.9rem; line-height:1.6; }
.trust-faq-card { border:1px solid rgb(226 232 240); border-radius:1.5rem; background:white; padding:1rem; box-shadow:0 12px 30px rgb(15 23 42 / .05); }
.trust-faq-card summary { cursor:pointer; font-weight:950; color:rgb(15 23 42); list-style:none; display:flex; justify-content:space-between; gap:1rem; }
.trust-faq-card summary::-webkit-details-marker { display:none; }
.trust-faq-card summary::after { content:'+'; color:rgb(3 105 161); font-weight:950; }
.trust-faq-card[open] summary::after { content:'–'; }
.footer-trust-note { border:1px solid rgb(255 255 255 / .10); border-radius:1.25rem; background:rgb(255 255 255 / .06); padding:1rem; }
.owner-confidence-list { display:grid; gap:.75rem; }
.owner-confidence-list li { display:flex; gap:.75rem; align-items:flex-start; border-radius:1.25rem; background:rgb(248 250 252); border:1px solid rgb(226 232 240); padding:.95rem; }
.owner-confidence-list li span { display:inline-flex; align-items:center; justify-content:center; width:1.6rem; height:1.6rem; border-radius:999px; background:rgb(220 252 231); color:rgb(4 120 87); font-weight:950; flex:0 0 auto; }

/* Phase D owner/renter/admin dashboard UI polish */
.admin-shell { background: radial-gradient(circle at top left, rgb(224 242 254 / .42), transparent 34rem), linear-gradient(180deg, rgb(248 250 252), rgb(241 245 249)); min-height:100vh; }
.admin-topbar { border-bottom:1px solid rgb(226 232 240); background:rgb(255 255 255 / .92); box-shadow:0 10px 30px rgb(15 23 42 / .05); }
.admin-brand-mark { box-shadow:0 12px 30px rgb(15 23 42 / .16); }
.admin-main { padding-top:2rem; padding-bottom:3rem; }
.admin-nav-dropdown { max-height:70vh; overflow:auto; }
.dashboard-shell { background: radial-gradient(circle at top left, rgb(224 242 254 / .55), transparent 34rem), linear-gradient(180deg,#fff,rgb(248 250 252)); min-height:100vh; }
.dashboard-section { position:relative; }
.private-hero { border:1px solid rgb(226 232 240); border-radius:2rem; background:linear-gradient(135deg,#fff,rgb(240 249 255)); padding:1.25rem; box-shadow:0 22px 60px rgb(15 23 42 / .08); }
.private-hero-title { letter-spacing:-.045em; }
.private-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.private-actions .btn, .admin-actions .btn { box-shadow:0 10px 24px rgb(15 23 42 / .06); }
.stat-card { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.5rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.25rem; box-shadow:0 16px 40px rgb(15 23 42 / .06); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.stat-card:hover { transform:translateY(-2px); border-color:rgb(125 211 252); box-shadow:0 22px 52px rgb(15 23 42 / .10); }
.stat-card::after { content:''; position:absolute; right:-2rem; top:-2rem; width:5.5rem; height:5.5rem; border-radius:999px; background:rgb(224 242 254 / .55); }
.stat-label { color:rgb(100 116 139); font-size:.82rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; border:1px solid rgb(226 232 240); background:rgb(248 250 252); padding:.35rem .7rem; font-size:.72rem; font-weight:950; text-transform:uppercase; color:rgb(71 85 105); }
.status-pill-success { border-color:rgb(187 247 208); background:rgb(240 253 244); color:rgb(21 128 61); }
.status-pill-warning { border-color:rgb(253 230 138); background:rgb(255 251 235); color:rgb(180 83 9); }
.status-pill-danger { border-color:rgb(254 202 202); background:rgb(254 242 242); color:rgb(185 28 28); }
.dashboard-panel { border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); box-shadow:0 20px 55px rgb(15 23 42 / .07); overflow:hidden; }
.dashboard-panel-header { border-bottom:1px solid rgb(226 232 240); padding:1.25rem; background:rgb(255 255 255 / .8); }
.dashboard-empty { border:1px dashed rgb(203 213 225); border-radius:1.5rem; background:rgb(248 250 252); padding:1.5rem; color:rgb(71 85 105); }
.admin-shell table thead, .dashboard-shell table thead { background:rgb(248 250 252); color:rgb(100 116 139); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; }
.admin-shell table tbody tr, .dashboard-shell table tbody tr { transition:background-color .18s ease; }
.admin-shell table tbody tr:hover, .dashboard-shell table tbody tr:hover { background:rgb(248 250 252 / .8); }
.admin-shell .card, .dashboard-shell .card { box-shadow:0 14px 38px rgb(15 23 42 / .06); }
.admin-shell form.rounded-3xl, .dashboard-shell form.rounded-3xl { box-shadow:0 16px 42px rgb(15 23 42 / .06); }
.vue-loading-card { border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(90deg,#fff,rgb(248 250 252),#fff); padding:2rem; color:rgb(71 85 105); box-shadow:0 18px 45px rgb(15 23 42 / .06); }
@media (max-width: 640px) {
  .private-hero { border-radius:1.5rem; padding:1rem; }
  .private-actions .btn, .admin-actions .btn { width:100%; }
  .admin-main { padding-top:1.25rem; }
}

/* Premium Brand UI Phase P2 — Header & Footer Premium Polish */
.premium-body { background:linear-gradient(180deg,#fff,rgb(248 250 252)); }
.premium-site-header { position:sticky; top:0; z-index:50; }
.premium-brand-lockup { display:inline-flex; align-items:center; gap:.85rem; color:rgb(15 23 42); }
.premium-brand-logo-wrap { display:inline-flex; align-items:center; }
.premium-brand-lockup img { max-height:2.45rem; width:auto; }
.premium-nav-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.65rem 1rem; color:rgb(51 65 85); transition:background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.premium-nav-pill:hover { background:white; color:rgb(3 105 161); box-shadow:0 10px 24px rgb(15 23 42 / .07); transform:translateY(-1px); }
.premium-owner-cta { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:linear-gradient(135deg,rgb(240 249 255),#fff); border:1px solid rgb(186 230 253); color:rgb(3 105 161); padding:.7rem 1rem; font-size:.86rem; font-weight:950; box-shadow:0 12px 28px rgb(14 165 233 / .10); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.premium-owner-cta:hover { transform:translateY(-1px); border-color:rgb(125 211 252); box-shadow:0 16px 34px rgb(14 165 233 / .16); }
.premium-lang-button, .premium-icon-link { display:inline-flex; align-items:center; justify-content:center; min-height:2.55rem; min-width:2.55rem; border-radius:999px; border:1px solid rgb(226 232 240); background:white; color:rgb(15 23 42); font-size:.78rem; font-weight:950; text-transform:uppercase; box-shadow:0 10px 22px rgb(15 23 42 / .05); transition:transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.premium-lang-button:hover, .premium-icon-link:hover { transform:translateY(-1px); border-color:rgb(125 211 252); color:rgb(3 105 161); box-shadow:0 14px 30px rgb(15 23 42 / .09); }
.premium-account-cta { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:linear-gradient(135deg,rgb(2 6 23),rgb(15 23 42)); color:white; padding:.72rem 1.08rem; font-size:.86rem; font-weight:950; box-shadow:0 14px 32px rgb(2 6 23 / .18), inset 0 1px 0 rgb(255 255 255 / .12); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.premium-account-cta:hover { transform:translateY(-1px); background:linear-gradient(135deg,rgb(3 105 161),rgb(14 165 233)); box-shadow:0 18px 38px rgb(14 165 233 / .23); }
.premium-subtle-link { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.7rem .75rem; color:rgb(71 85 105); font-size:.86rem; font-weight:900; transition:color .18s ease, background-color .18s ease; }
.premium-subtle-link:hover { color:rgb(3 105 161); background:rgb(240 249 255); }
.premium-mobile-toggle { display:inline-flex; align-items:center; justify-content:center; height:2.75rem; width:2.75rem; border-radius:1rem; border:1px solid rgb(226 232 240); background:white; color:rgb(15 23 42); font-size:1.45rem; font-weight:950; box-shadow:0 10px 24px rgb(15 23 42 / .07); }
.premium-mobile-menu { box-shadow:0 24px 60px rgb(15 23 42 / .10); }
.premium-mobile-link { display:flex; align-items:center; justify-content:space-between; border-radius:1.25rem; border:1px solid rgb(226 232 240); background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:.95rem 1rem; color:rgb(15 23 42); box-shadow:0 8px 18px rgb(15 23 42 / .04); }
.premium-mobile-link::after { content:'→'; color:rgb(14 165 233); }
.premium-mobile-primary { background:linear-gradient(135deg,rgb(2 132 199),rgb(14 165 233)); color:white; border-color:transparent; }
.premium-mobile-primary::after { color:white; }
.premium-lang-menu { z-index:80; }
.premium-footer { border-top:1px solid rgb(255 255 255 / .08); }
.footer-proof-card { border:1px solid rgb(255 255 255 / .10); border-radius:1.1rem; background:rgb(255 255 255 / .06); padding:.9rem; }
.footer-proof-card strong { display:block; color:white; font-weight:950; }
.footer-proof-card span { display:block; margin-top:.15rem; color:rgb(148 163 184); font-size:.78rem; line-height:1.45; }
.footer-primary-link, .footer-secondary-link { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.78rem 1rem; font-size:.86rem; font-weight:950; transition:transform .18s ease, background-color .18s ease, border-color .18s ease; }
.footer-primary-link { background:white; color:rgb(15 23 42); box-shadow:0 18px 40px rgb(0 0 0 / .18); }
.footer-primary-link:hover, .footer-secondary-link:hover { transform:translateY(-1px); }
.footer-secondary-link { border:1px solid rgb(255 255 255 / .16); color:white; background:rgb(255 255 255 / .06); }
.premium-footer-column { border:1px solid rgb(255 255 255 / .08); border-radius:1.5rem; background:rgb(255 255 255 / .035); padding:1.15rem; }
.premium-footer-column .footer-heading { margin-bottom:.85rem; color:white; font-size:.82rem; font-weight:950; text-transform:uppercase; letter-spacing:.09em; }
.premium-footer-column a { display:block; border-radius:.9rem; padding:.45rem 0; color:rgb(148 163 184); font-size:.9rem; font-weight:750; transition:color .18s ease, transform .18s ease; }
.premium-footer-column a:hover { color:white; transform:translateX(2px); }
.footer-locale-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid rgb(255 255 255 / .12); background:rgb(255 255 255 / .06); color:rgb(226 232 240); padding:.5rem .75rem; font-size:.76rem; font-weight:900; transition:background-color .18s ease, color .18s ease, transform .18s ease; }
.footer-locale-pill:hover { background:white; color:rgb(15 23 42); transform:translateY(-1px); }
@media (max-width: 1024px) { .premium-brand-lockup img { max-height:2.25rem; } }
@media (max-width: 640px) { .premium-site-header { position:sticky; } .premium-brand-lockup img { max-height:2.05rem; } .premium-footer-brand { border-radius:1.5rem; } .premium-footer-column { border-radius:1.25rem; } }

/* Premium Brand UI Phase P3 — Homepage Premium Brand Experience */
.premium-home-hero { min-height: 760px; }
.premium-home-badge { display:inline-flex; align-items:center; gap:.45rem; border-radius:999px; background:rgb(255 255 255 / .12); color:white; padding:.55rem .9rem; font-size:.78rem; font-weight:950; letter-spacing:.02em; box-shadow:inset 0 1px 0 rgb(255 255 255 / .18); backdrop-filter:blur(14px); }
.premium-hero-proof { border:1px solid rgb(255 255 255 / .14); border-radius:1.35rem; background:rgb(255 255 255 / .10); padding:1rem; box-shadow:0 18px 38px rgb(0 0 0 / .16), inset 0 1px 0 rgb(255 255 255 / .13); backdrop-filter:blur(16px); }
.premium-hero-proof strong { display:block; color:white; font-size:1.65rem; line-height:1; font-weight:950; letter-spacing:-.04em; }
.premium-hero-proof span { display:block; margin-top:.35rem; color:rgb(226 232 240); font-size:.78rem; font-weight:800; line-height:1.35; }
.premium-home-search { border:1px solid rgb(255 255 255 / .22); border-radius:2.25rem; background:linear-gradient(180deg,rgb(255 255 255 / .98),rgb(248 250 252 / .96)); padding:1.35rem; box-shadow:0 34px 90px rgb(2 6 23 / .32), inset 0 1px 0 white; backdrop-filter:blur(22px); }
.premium-search-field { display:grid; gap:.45rem; }
.premium-search-field span { color:rgb(71 85 105); font-size:.73rem; font-weight:950; text-transform:uppercase; letter-spacing:.075em; }
.premium-mini-proof { display:flex; align-items:center; gap:.55rem; border-radius:1rem; background:rgb(248 250 252); padding:.8rem; color:rgb(71 85 105); font-size:.76rem; font-weight:850; line-height:1.35; }
.premium-mini-proof span { display:inline-flex; align-items:center; justify-content:center; height:1.65rem; width:1.65rem; flex:0 0 auto; border-radius:999px; background:white; color:rgb(3 105 161); box-shadow:0 8px 18px rgb(15 23 42 / .06); }
.premium-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; }
.premium-value-card { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.8rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.35rem; box-shadow:0 20px 55px rgb(15 23 42 / .07); }
.premium-value-card::after { content:''; position:absolute; right:-3rem; top:-3rem; height:7rem; width:7rem; border-radius:999px; background:radial-gradient(circle,rgb(186 230 253 / .65),transparent 70%); }
.premium-value-card div { position:relative; z-index:1; color:rgb(2 132 199); font-size:.82rem; font-weight:950; letter-spacing:.12em; }
.premium-value-card h3 { position:relative; z-index:1; margin-top:1rem; color:rgb(15 23 42); font-size:1.35rem; line-height:1.15; font-weight:950; letter-spacing:-.035em; }
.premium-value-card p { position:relative; z-index:1; margin-top:.65rem; color:rgb(71 85 105); line-height:1.7; font-size:.93rem; }
.premium-destination-tile { position:relative; min-height:15rem; overflow:hidden; border-radius:1.75rem; background:linear-gradient(135deg,rgb(2 6 23),rgb(3 105 161)); padding:1.25rem; box-shadow:0 22px 60px rgb(15 23 42 / .14); transition:transform .22s ease, box-shadow .22s ease; }
.premium-destination-tile::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 10%,rgb(255 255 255 / .22),transparent 24rem),linear-gradient(180deg,transparent,rgb(2 6 23 / .72)); }
.premium-destination-tile::after { content:''; position:absolute; right:-3rem; bottom:-3rem; width:9rem; height:9rem; border-radius:999px; background:rgb(125 211 252 / .25); filter:blur(1px); }
.premium-destination-tile:hover { transform:translateY(-4px); box-shadow:0 30px 76px rgb(15 23 42 / .22); }
.premium-category-tile { display:block; position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.8rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.35rem; box-shadow:0 18px 48px rgb(15 23 42 / .07); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.premium-category-tile:hover { transform:translateY(-3px); border-color:rgb(125 211 252); box-shadow:0 26px 66px rgb(15 23 42 / .12); }
.premium-category-tile::after { content:''; position:absolute; right:-4rem; top:-4rem; height:9rem; width:9rem; border-radius:999px; background:rgb(224 242 254 / .62); }
.premium-category-tile > * { position:relative; z-index:1; }
.premium-category-icon { display:flex; align-items:center; justify-content:center; height:3.8rem; width:3.8rem; border-radius:1.35rem; background:linear-gradient(135deg,rgb(240 249 255),#fff); color:rgb(3 105 161); font-size:2rem; box-shadow:0 16px 32px rgb(14 165 233 / .12); }
.premium-journey-section { position:relative; overflow:hidden; background:radial-gradient(circle at 10% 0%,rgb(14 165 233 / .28),transparent 28rem),linear-gradient(135deg,rgb(2 6 23),rgb(15 23 42)); }
.premium-journey-section::after { content:''; position:absolute; right:-8rem; bottom:-8rem; width:22rem; height:22rem; border-radius:999px; background:rgb(14 165 233 / .13); }
.premium-journey-section > div { position:relative; z-index:1; }
.premium-journey-card { border:1px solid rgb(255 255 255 / .11); border-radius:1.8rem; background:rgb(255 255 255 / .075); padding:1.45rem; box-shadow:0 22px 60px rgb(0 0 0 / .18); backdrop-filter:blur(14px); }
.premium-journey-card div { color:rgb(125 211 252); font-size:2.7rem; font-weight:950; letter-spacing:-.08em; }
.premium-journey-card h3 { margin-top:1rem; color:white; font-size:1.55rem; line-height:1.1; font-weight:950; letter-spacing:-.035em; }
.premium-journey-card p { margin-top:.65rem; color:rgb(203 213 225); line-height:1.7; }
.premium-owner-hero { position:relative; background:radial-gradient(circle at 20% 0%,rgb(14 165 233 / .30),transparent 26rem),linear-gradient(135deg,rgb(2 6 23),rgb(15 23 42)); }
.premium-owner-hero::after { content:''; position:absolute; inset:auto -5rem -6rem auto; width:18rem; height:18rem; border-radius:999px; background:rgb(125 211 252 / .16); }
.premium-owner-hero > * { position:relative; z-index:1; }
.premium-owner-proof { border:1px solid rgb(255 255 255 / .11); border-radius:1rem; background:rgb(255 255 255 / .07); padding:.9rem; color:rgb(226 232 240); font-size:.83rem; font-weight:900; line-height:1.35; }
@media (max-width: 1024px) { .premium-home-hero { min-height:auto; } .premium-section-heading { align-items:flex-start; flex-direction:column; } }
@media (max-width: 640px) { .premium-home-search { border-radius:1.5rem; padding:1rem; } .premium-home-badge { font-size:.72rem; } .premium-hero-proof strong { font-size:1.35rem; } .premium-destination-tile { min-height:12rem; } }

/* Premium Brand UI Phase P4 — marketplace listing polish */
.marketplace-hero { background: #020617; box-shadow: inset 0 -1px 0 rgb(255 255 255 / .08); }
.marketplace-proof-pill { display:flex; align-items:center; gap:.65rem; border:1px solid rgb(255 255 255 / .14); border-radius:999px; background:rgb(255 255 255 / .10); padding:.8rem 1rem; color:white; box-shadow:0 18px 45px rgb(2 6 23 / .18); backdrop-filter:blur(14px); }
.marketplace-proof-pill span { display:inline-flex; align-items:center; justify-content:center; width:1.6rem; height:1.6rem; border-radius:999px; background:rgb(255 255 255 / .16); color:rgb(186 230 253); }
.marketplace-proof-pill strong { font-size:.85rem; letter-spacing:.01em; }
.marketplace-hero-panel { border:1px solid rgb(255 255 255 / .16); border-radius:2rem; background:linear-gradient(145deg, rgb(255 255 255 / .16), rgb(255 255 255 / .07)); padding:1.4rem; box-shadow:0 24px 70px rgb(2 6 23 / .22); backdrop-filter:blur(18px); }
.marketplace-hero-panel strong { display:block; font-size:1.6rem; font-weight:950; letter-spacing:-.04em; color:white; }
.marketplace-hero-panel span { display:block; margin-top:.15rem; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; color:rgb(226 232 240 / .78); }
.marketplace-shell { position:relative; }
.marketplace-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; border:1px solid rgb(226 232 240); border-radius:2rem; background:linear-gradient(135deg,#fff, rgb(248 250 252)); padding:1rem; box-shadow:0 18px 45px rgb(15 23 42 / .07); }
.view-mode-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:.62rem .9rem; font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.12em; border:1px solid rgb(226 232 240); }
.view-mode-pill-active { background:#0f172a; color:white; border-color:#0f172a; }
.view-mode-pill-disabled { border-style:dashed; color:rgb(100 116 139); background:white; }
.marketplace-advisor-card { border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(145deg,#fff, rgb(240 249 255)); padding:1.25rem; box-shadow:0 18px 45px rgb(15 23 42 / .07); }
.marketplace-advisor-card span { font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.18em; color:rgb(2 132 199); }
.marketplace-advisor-card strong { display:block; margin-top:.4rem; color:rgb(15 23 42); font-size:1.05rem; font-weight:950; }
.marketplace-advisor-card p { margin-top:.4rem; color:rgb(71 85 105); font-size:.9rem; line-height:1.6; }
.premium-filter-panel { border-radius:2rem; box-shadow:0 24px 60px rgb(15 23 42 / .10); }
.premium-filter-summary { background:linear-gradient(135deg,#fff, rgb(248 250 252)); padding:1.15rem 1.25rem; }
.filter-field-group { border-radius:1.35rem; background:rgb(248 250 252 / .72); padding:.9rem; ring:1px solid rgb(226 232 240); }
.premium-checkbox-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid rgb(226 232 240); border-radius:1.35rem; background:white; padding:.9rem 1rem; font-size:.9rem; font-weight:950; color:rgb(51 65 85); box-shadow:0 8px 20px rgb(15 23 42 / .04); }
.premium-checkbox-row small { display:block; margin-top:.15rem; font-size:.72rem; font-weight:800; color:rgb(100 116 139); }
.premium-empty-state { padding:3rem 2rem; background:radial-gradient(circle at top, rgb(224 242 254 / .80), transparent 18rem), linear-gradient(180deg,#fff, rgb(248 250 252)); border-style:solid; }
@media (max-width: 640px) {
  .marketplace-toolbar { border-radius:1.5rem; }
  .marketplace-hero-panel { border-radius:1.5rem; }
  .marketplace-proof-pill { border-radius:1.1rem; }
}

/* Premium Brand UI Phase P5 — Boat detail conversion polish */
.premium-boat-hero {
  position: relative;
  overflow: hidden;
}
.premium-boat-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 12% 8%, rgb(14 165 233 / .18), transparent 28rem),
    radial-gradient(circle at 90% 18%, rgb(15 23 42 / .08), transparent 24rem),
    linear-gradient(180deg, rgb(248 250 252), rgb(255 255 255));
}
.premium-back-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border-radius: 999px;
  border: 1px solid rgb(226 232 240);
  background: rgb(255 255 255 / .86);
  padding: .55rem .9rem;
  font-size: .875rem;
  font-weight: 950;
  color: rgb(3 105 161);
  box-shadow: 0 10px 30px rgb(15 23 42 / .06);
  backdrop-filter: blur(16px);
}
.premium-back-link:hover { color: rgb(12 74 110); transform: translateY(-1px); }
.detail-badge-navy {
  background: linear-gradient(135deg, rgb(15 23 42), rgb(30 41 59));
  color: #fff;
  border-color: rgb(51 65 85);
}
.premium-listing-actions {
  border: 1px solid rgb(226 232 240 / .85);
  border-radius: 2rem;
  background: linear-gradient(180deg, rgb(255 255 255 / .96), rgb(248 250 252 / .92));
  box-shadow: 0 24px 60px rgb(15 23 42 / .10);
  padding: 1.25rem;
  backdrop-filter: blur(18px);
}
.premium-gallery-main {
  border: 1px solid rgb(255 255 255 / .65);
  box-shadow: 0 34px 90px rgb(15 23 42 / .18), inset 0 1px 0 rgb(255 255 255 / .35);
}
.premium-gallery-main img { filter: saturate(1.05) contrast(1.03); }
.premium-detail-card {
  background:
    linear-gradient(180deg, rgb(255 255 255), rgb(248 250 252)),
    radial-gradient(circle at top right, rgb(14 165 233 / .12), transparent 18rem);
}
.premium-booking-summary {
  border: 1px solid rgb(226 232 240 / .85);
  background:
    linear-gradient(180deg, rgb(255 255 255), rgb(248 250 252)),
    radial-gradient(circle at top right, rgb(14 165 233 / .10), transparent 18rem);
  box-shadow: 0 24px 70px rgb(15 23 42 / .11);
}
.booking-panel {
  border: 1px solid rgb(226 232 240 / .9);
  background: linear-gradient(180deg, rgb(255 255 255), rgb(248 250 252 / .92));
  box-shadow: 0 18px 50px rgb(15 23 42 / .08);
}
.boat-thumb {
  border: 1px solid rgb(255 255 255 / .72);
  box-shadow: 0 12px 30px rgb(15 23 42 / .10);
}
.boat-thumb:hover { transform: translateY(-2px); box-shadow: 0 20px 45px rgb(15 23 42 / .14); }
.detail-stat {
  transition: transform .2s ease, box-shadow .2s ease;
}
.detail-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 46px rgb(15 23 42 / .09);
}
.detail-info-panel {
  background: linear-gradient(180deg, rgb(248 250 252), rgb(255 255 255));
}
@media (max-width: 640px) {
  .premium-listing-actions { border-radius: 1.5rem; }
  .premium-boat-hero h1 { font-size: 2.35rem; line-height: 1.02; }
}

/* Premium Brand UI Phase P6 — Destination / Category / Experience Premium Pages */
.premium-discovery-hero { min-height: 28rem; isolation:isolate; }
.premium-discovery-hero img { filter:saturate(1.08) contrast(1.04); }
.premium-landing-panel {
  border:1px solid rgb(255 255 255 / .16);
  border-radius:2rem;
  background:linear-gradient(145deg, rgb(255 255 255 / .16), rgb(255 255 255 / .07));
  padding:1.35rem;
  box-shadow:0 28px 80px rgb(2 6 23 / .24);
  backdrop-filter:blur(18px);
}
.premium-landing-panel span { display:block; font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.17em; color:rgb(186 230 253); }
.premium-landing-panel strong { display:block; margin-top:.45rem; color:white; font-size:2rem; line-height:1; font-weight:950; letter-spacing:-.05em; }
.premium-landing-panel p { margin-top:.7rem; color:rgb(226 232 240); line-height:1.7; font-size:.92rem; }
.premium-discovery-card {
  position:relative;
  display:block;
  overflow:hidden;
  min-height:19rem;
  border:1px solid rgb(226 232 240);
  border-radius:2rem;
  background:linear-gradient(180deg,#fff,rgb(248 250 252));
  padding:1.45rem;
  box-shadow:0 22px 60px rgb(15 23 42 / .08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.premium-discovery-card:hover { transform:translateY(-5px); border-color:rgb(125 211 252); box-shadow:0 34px 84px rgb(15 23 42 / .14); }
.premium-discovery-card-glow { position:absolute; right:-5rem; top:-5rem; width:13rem; height:13rem; border-radius:999px; background:radial-gradient(circle, rgb(14 165 233 / .20), transparent 70%); }
.premium-discovery-icon { display:flex; align-items:center; justify-content:center; height:3.7rem; width:3.7rem; border-radius:1.35rem; background:linear-gradient(135deg,rgb(224 242 254),#fff); color:rgb(3 105 161); font-size:2rem; box-shadow:0 18px 36px rgb(14 165 233 / .14); }
.premium-experience-tile {
  position:relative;
  overflow:hidden;
  border:1px solid rgb(226 232 240);
  border-radius:2rem;
  background:linear-gradient(180deg,#fff,rgb(248 250 252));
  box-shadow:0 22px 58px rgb(15 23 42 / .08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.premium-experience-tile::after { content:''; position:absolute; inset:auto -5rem -5rem auto; width:12rem; height:12rem; border-radius:999px; background:rgb(224 242 254 / .65); }
.premium-experience-tile > * { position:relative; z-index:1; }
.premium-experience-tile:hover { transform:translateY(-5px); border-color:rgb(125 211 252); box-shadow:0 34px 84px rgb(15 23 42 / .14); }
.premium-mini-link-card {
  display:block;
  border:1px solid rgb(226 232 240);
  border-radius:1.5rem;
  background:linear-gradient(180deg,#fff,rgb(248 250 252));
  padding:1.25rem;
  box-shadow:0 16px 40px rgb(15 23 42 / .06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.premium-mini-link-card:hover { transform:translateY(-3px); border-color:rgb(125 211 252); box-shadow:0 24px 58px rgb(15 23 42 / .11); }
.premium-side-note {
  border:1px solid rgb(226 232 240);
  border-radius:2rem;
  background:radial-gradient(circle at top right, rgb(14 165 233 / .13), transparent 14rem), linear-gradient(180deg,#fff,rgb(248 250 252));
  box-shadow:0 20px 55px rgb(15 23 42 / .08);
}
.premium-faq-button {
  border:1px solid rgb(226 232 240);
  border-radius:1.35rem;
  background:linear-gradient(180deg,#fff,rgb(248 250 252));
  color:rgb(15 23 42);
  box-shadow:0 12px 32px rgb(15 23 42 / .05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.premium-faq-button:hover { transform:translateY(-1px); border-color:rgb(125 211 252); box-shadow:0 18px 42px rgb(15 23 42 / .09); }
@media (max-width: 640px) {
  .premium-discovery-hero { min-height:auto; }
  .premium-landing-panel { border-radius:1.5rem; }
  .premium-discovery-card, .premium-experience-tile { border-radius:1.5rem; }
}

/* Premium Brand UI Phase P7 — Trust & Established Brand Layer */
.established-brand-layer { position:relative; overflow:hidden; background:linear-gradient(135deg,rgb(255 255 255),rgb(240 249 255) 48%,rgb(248 250 252)); }
.established-brand-layer::before { content:''; position:absolute; inset:auto auto -8rem -8rem; width:22rem; height:22rem; border-radius:999px; background:rgb(14 165 233 / .12); filter:blur(48px); pointer-events:none; }
.established-trust-card { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.75rem; background:rgb(255 255 255 / .86); padding:1.25rem; box-shadow:0 18px 45px rgb(15 23 42 / .07); backdrop-filter:blur(12px); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.established-trust-card:hover { transform:translateY(-2px); border-color:rgb(125 211 252); box-shadow:0 24px 64px rgb(15 23 42 / .11); }
.established-trust-card span { display:inline-flex; width:max-content; border-radius:999px; background:rgb(240 249 255); padding:.35rem .7rem; color:rgb(3 105 161); font-size:.7rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.established-trust-card h3 { margin-top:.9rem; color:rgb(15 23 42); font-size:1.05rem; font-weight:950; letter-spacing:-.02em; }
.established-trust-card p { margin-top:.45rem; color:rgb(71 85 105); font-size:.9rem; line-height:1.65; }
.premium-reassurance-panel { border:1px solid rgb(186 230 253); border-radius:2rem; background:linear-gradient(135deg,#fff,rgb(240 249 255)); padding:1.25rem; box-shadow:0 20px 55px rgb(14 165 233 / .10); }
.premium-reassurance-item { border:1px solid rgb(226 232 240); border-radius:1.5rem; background:white; padding:1rem; box-shadow:0 12px 30px rgb(15 23 42 / .05); }
.premium-reassurance-item span { display:inline-flex; align-items:center; justify-content:center; width:2.35rem; height:2.35rem; border-radius:999px; background:rgb(224 242 254); color:rgb(3 105 161); font-weight:950; }
.premium-reassurance-item h3 { margin-top:.85rem; color:rgb(15 23 42); font-weight:950; }
.premium-reassurance-item p { margin-top:.35rem; color:rgb(71 85 105); font-size:.875rem; line-height:1.65; }
.support-confidence-panel { display:grid; gap:1.5rem; border:1px solid rgb(226 232 240); border-radius:2rem; background:linear-gradient(135deg,#fff,rgb(248 250 252)); padding:1.5rem; box-shadow:0 22px 60px rgb(15 23 42 / .08); }
.support-confidence-actions { display:grid; gap:.75rem; }
.support-confidence-actions a { display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid rgb(226 232 240); border-radius:1.25rem; background:white; padding:.95rem 1rem; color:rgb(15 23 42); font-size:.9rem; font-weight:950; transition:transform .18s ease, border-color .18s ease, color .18s ease; }
.support-confidence-actions a::after { content:'→'; color:rgb(3 105 161); }
.support-confidence-actions a:hover { transform:translateY(-1px); border-color:rgb(125 211 252); color:rgb(3 105 161); }
.premium-footer-confidence-grid { display:grid; gap:.75rem; }
.premium-footer-confidence-grid div { border:1px solid rgb(255 255 255 / .10); border-radius:1rem; background:rgb(255 255 255 / .055); padding:.85rem; }
.premium-footer-confidence-grid strong { display:block; color:white; font-size:.85rem; }
.premium-footer-confidence-grid span { display:block; margin-top:.25rem; color:rgb(148 163 184); font-size:.76rem; line-height:1.45; }
@media (min-width: 768px) {
  .support-confidence-panel { grid-template-columns:minmax(0,1fr) 18rem; align-items:center; }
}
@media (max-width: 640px) {
  .premium-reassurance-panel, .support-confidence-panel { border-radius:1.5rem; padding:1rem; }
}

/* Premium Brand UI Phase P8 — Owner / Renter / Admin Premium Dashboard Polish */
.private-command-surface { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:2.25rem; background:linear-gradient(135deg,rgb(15 23 42),rgb(12 74 110) 48%,rgb(2 132 199)); color:white; box-shadow:0 30px 80px rgb(15 23 42 / .18); }
.private-command-surface::before { content:''; position:absolute; inset:-8rem auto auto -8rem; width:19rem; height:19rem; border-radius:999px; background:rgb(255 255 255 / .10); filter:blur(2px); }
.private-command-surface::after { content:''; position:absolute; right:-7rem; bottom:-9rem; width:22rem; height:22rem; border-radius:999px; background:rgb(125 211 252 / .18); }
.private-command-surface > * { position:relative; z-index:1; }
.private-command-kicker { display:inline-flex; align-items:center; gap:.5rem; border:1px solid rgb(255 255 255 / .18); border-radius:999px; background:rgb(255 255 255 / .10); padding:.45rem .8rem; color:rgb(224 242 254); font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.12em; }
.private-command-title { letter-spacing:-.055em; text-wrap:balance; }
.private-command-subtext { color:rgb(224 242 254 / .92); line-height:1.75; }
.private-command-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.private-command-actions .btn-primary { background:white !important; color:rgb(15 23 42) !important; box-shadow:0 18px 38px rgb(2 6 23 / .18) !important; }
.private-command-actions .btn-light { background:rgb(255 255 255 / .12) !important; color:white !important; border-color:rgb(255 255 255 / .18) !important; box-shadow:none !important; }
.private-command-actions .btn-light:hover { background:rgb(255 255 255 / .18) !important; }
.private-status-strip { display:grid; gap:.85rem; }
.private-status-tile { border:1px solid rgb(255 255 255 / .14); border-radius:1.35rem; background:rgb(255 255 255 / .10); padding:1rem; backdrop-filter:blur(12px); }
.private-status-tile span { display:block; color:rgb(224 242 254 / .82); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.private-status-tile strong { display:block; margin-top:.35rem; color:white; font-size:1.7rem; line-height:1; font-weight:950; }
.private-status-tile small { color:rgb(224 242 254 / .82); }
.private-dashboard-grid { display:grid; gap:1.25rem; }
.private-metric-card { position:relative; overflow:hidden; border:1px solid rgb(226 232 240); border-radius:1.75rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); padding:1.35rem; box-shadow:0 20px 55px rgb(15 23 42 / .07); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.private-metric-card:hover { transform:translateY(-2px); border-color:rgb(125 211 252); box-shadow:0 26px 70px rgb(15 23 42 / .11); }
.private-metric-card::before { content:''; position:absolute; right:-2.5rem; top:-2.7rem; width:7rem; height:7rem; border-radius:999px; background:linear-gradient(135deg,rgb(224 242 254 / .8),rgb(240 249 255 / .15)); }
.private-metric-card .metric-icon { display:inline-flex; align-items:center; justify-content:center; width:2.55rem; height:2.55rem; border-radius:1rem; background:rgb(240 249 255); color:rgb(3 105 161); box-shadow:inset 0 0 0 1px rgb(186 230 253); }
.private-metric-label { margin-top:.95rem; color:rgb(100 116 139); font-size:.78rem; font-weight:950; text-transform:uppercase; letter-spacing:.08em; }
.private-metric-value { margin-top:.35rem; color:rgb(15 23 42); font-size:2rem; line-height:1; font-weight:950; letter-spacing:-.045em; }
.private-premium-panel { overflow:hidden; border:1px solid rgb(226 232 240); border-radius:2rem; background:linear-gradient(180deg,#fff,rgb(248 250 252)); box-shadow:0 24px 70px rgb(15 23 42 / .08); }
.private-premium-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; border-bottom:1px solid rgb(226 232 240); background:linear-gradient(135deg,#fff,rgb(240 249 255)); padding:1.35rem; }
.private-premium-row { padding:1.15rem 1.35rem; transition:background-color .18s ease; }
.private-premium-row:hover { background:rgb(248 250 252); }
.private-empty-state { border:1px dashed rgb(186 230 253); border-radius:1.75rem; background:linear-gradient(135deg,rgb(240 249 255),#fff); padding:1.6rem; color:rgb(51 65 85); }
.private-empty-state strong { display:block; color:rgb(15 23 42); font-weight:950; }
.private-mini-note { border:1px solid rgb(226 232 240); border-radius:1.35rem; background:white; padding:1rem; color:rgb(71 85 105); box-shadow:0 12px 30px rgb(15 23 42 / .05); }
.private-badge { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; border:1px solid rgb(226 232 240); background:rgb(248 250 252); padding:.42rem .75rem; color:rgb(71 85 105); font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.04em; }
.private-badge-success { border-color:rgb(187 247 208); background:rgb(240 253 244); color:rgb(21 128 61); }
.private-badge-warning { border-color:rgb(253 230 138); background:rgb(255 251 235); color:rgb(180 83 9); }
.private-badge-danger { border-color:rgb(254 202 202); background:rgb(254 242 242); color:rgb(185 28 28); }
.admin-shell { background:radial-gradient(circle at top left, rgb(186 230 253 / .50), transparent 34rem), radial-gradient(circle at top right, rgb(203 213 225 / .35), transparent 30rem), linear-gradient(180deg,rgb(248 250 252),rgb(241 245 249)); }
.admin-topbar { background:rgb(255 255 255 / .86); border-bottom:1px solid rgb(226 232 240 / .9); box-shadow:0 16px 44px rgb(15 23 42 / .07); }
.admin-premium-brand { display:inline-flex; align-items:center; gap:.75rem; }
.admin-brand-text small { display:block; color:rgb(100 116 139); font-size:.67rem; font-weight:950; letter-spacing:.12em; text-transform:uppercase; line-height:1; }
.admin-brand-text strong { display:block; color:rgb(15 23 42); font-size:.95rem; line-height:1.1; }
.admin-nav-link, .admin-nav-group-button { display:inline-flex; align-items:center; border-radius:999px; padding:.65rem .9rem; font-weight:900; transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.admin-nav-link:hover, .admin-nav-group-button:hover { transform:translateY(-1px); box-shadow:0 12px 24px rgb(15 23 42 / .06); }
.admin-nav-active { background:linear-gradient(135deg,rgb(15 23 42),rgb(30 41 59)); color:white; box-shadow:0 14px 28px rgb(15 23 42 / .16); }
.admin-nav-idle { color:rgb(51 65 85); }
.admin-nav-idle:hover { background:white; color:rgb(3 105 161); }
.admin-dropdown-panel { border:1px solid rgb(226 232 240); background:rgb(255 255 255 / .98); box-shadow:0 24px 70px rgb(15 23 42 / .14); }
.admin-dropdown-item { display:block; border-radius:1rem; padding:.7rem .8rem; color:rgb(51 65 85); font-weight:800; transition:background-color .18s ease, color .18s ease, transform .18s ease; }
.admin-dropdown-item:hover { background:rgb(240 249 255); color:rgb(3 105 161); transform:translateX(2px); }
.admin-mobile-panel { background:rgb(255 255 255 / .98); box-shadow:0 22px 50px rgb(15 23 42 / .08); }
.admin-shell .dashboard-panel, .dashboard-shell .dashboard-panel { border-radius:2rem; }
.admin-shell .stat-card, .dashboard-shell .stat-card { border-radius:1.75rem; }
.vue-loading-card { position:relative; overflow:hidden; border-radius:2rem; min-height:9rem; display:flex; align-items:center; justify-content:center; font-weight:950; }
.vue-loading-card::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 0%,rgb(255 255 255 / .75) 45%,transparent 70%); transform:translateX(-100%); animation:premiumLoadingShimmer 1.7s infinite; }
@keyframes premiumLoadingShimmer { to { transform:translateX(100%); } }
@media (min-width: 768px) { .private-status-strip { grid-template-columns:repeat(3,minmax(0,1fr)); } .private-dashboard-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width: 640px) { .private-command-surface { border-radius:1.6rem; } .private-command-actions .btn { width:100%; } .private-premium-panel-header { flex-direction:column; } }

/* Premium Brand UI Phase P10 — Final Premium Cleanup */
img { max-width: 100%; height: auto; }
.public-shell img, .premium-card img, .boat-gallery-main img, .boat-thumb img { display:block; }
.public-shell a, .dashboard-shell a, .admin-shell a { text-underline-offset: .18em; }
.public-shell .btn, .premium-site-header .btn, .premium-footer .btn { white-space: nowrap; }
.premium-card, .card, .filter-panel, .dashboard-panel, .stat-card, .trust-established-card, .support-confidence-panel { backface-visibility:hidden; }
.premium-card:focus-within, .filter-panel:focus-within, .dashboard-panel:focus-within { border-color: rgb(125 211 252); box-shadow: var(--eb-ring), 0 24px 70px rgb(15 23 42 / .10); }
.premium-image-frame { position:relative; overflow:hidden; border-radius:2rem; background:linear-gradient(135deg,rgb(226 232 240),rgb(240 249 255)); box-shadow:0 24px 70px rgb(15 23 42 / .10); }
.premium-image-frame::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgb(2 6 23 / .46)); pointer-events:none; }
.premium-section-cap { max-width:46rem; }
.premium-page-rhythm > * + * { margin-top:5rem; }
.brand-clean-empty { border:1px dashed rgb(186 230 253); background:linear-gradient(135deg,#fff,rgb(240 249 255)); color:rgb(51 65 85); }
.brand-clean-empty strong { color:rgb(15 23 42); }
.fallback-boat-note { display:inline-flex; align-items:center; gap:.4rem; border-radius:999px; background:rgb(240 249 255); color:rgb(3 105 161); padding:.4rem .75rem; font-size:.75rem; font-weight:900; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
  .btn:hover, .premium-card:hover, .stat-card:hover, .premium-nav-pill:hover, .premium-owner-cta:hover, .premium-account-cta:hover { transform:none !important; }
}
@media (max-width: 640px) {
  .public-section { padding-block:3.5rem; }
  .premium-heading { line-height:1.02; }
  .premium-home-hero { min-height:680px; }
  .public-shell .btn, .premium-mobile-menu .btn { width:100%; }
  .premium-card:hover, .stat-card:hover { transform:none; }
  .premium-page-rhythm > * + * { margin-top:3.5rem; }
  .boat-gallery-grid, .premium-home-search, .filter-panel, .premium-card, .dashboard-panel { border-radius:1.35rem; }
}
