@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Outfit:wght@400;500;600;700&display=swap";:root{--sea-deep:#0b3d4a;--sea:#136f7a;--sea-mid:#1a8a8f;--foam:#e8f4f2;--sand:#f3e7d3;--ink:#12262b;--muted:#4d646a;--coral:#c45c3e;--ok:#2f7d5a;--line:#0b3d4a1f;--shadow:0 18px 40px #0b3d4a1f;--radius:14px;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%, #1a8a8f47, transparent 60%), radial-gradient(900px 480px at 100% 0%, #f3e7d3b3, transparent 55%), linear-gradient(180deg, #d7ece9 0%, var(--foam) 38%, #f7fbfa 100%);background-attachment:fixed;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{flex-direction:column;max-width:960px;min-height:100vh;margin:0 auto;padding:1.25rem 1.25rem 2.5rem;display:flex}.site-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.5rem 0 1.25rem;animation:.6s both rise;display:flex}.brand{font-family:var(--font-display);color:var(--sea-deep);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.brand-tag{color:var(--muted);margin:.2rem 0 0;font-size:.95rem}.site-nav{flex-wrap:wrap;gap:.35rem;display:flex}.site-nav a{color:var(--sea-deep);border-radius:999px;padding:.55rem .9rem;font-weight:500;transition:background .2s,color .2s,transform .2s}.site-nav a:hover{background:#136f7a1a;transform:translateY(-1px)}.site-nav a.active{background:var(--sea-deep);color:#fff}.site-nav .nav-admin{opacity:.75}.boat-hero{border-radius:calc(var(--radius) + 6px);min-height:clamp(220px,40vw,360px);box-shadow:var(--shadow);background:linear-gradient(#0000 38%,#05202ab8 100%),url(/boat-hero.jpg) 50% 58%/cover no-repeat;align-items:flex-end;margin-top:1.25rem;animation:.7s 50ms both rise;display:flex;position:relative;overflow:hidden}.boat-hero-copy{color:#fff;text-shadow:0 2px 16px #00000059;gap:.25rem;padding:clamp(1.1rem,4vw,2rem);display:grid}.boat-hero-copy span{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:700}.boat-hero-copy strong{max-width:30rem;font-family:var(--font-display);font-size:clamp(1.45rem,4vw,2.35rem);line-height:1.08}.trip-details{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:center;gap:1rem;margin-top:.75rem;padding:1rem 1.1rem;animation:.7s 90ms both rise;display:grid}.trip-detail{gap:.18rem;display:grid}.trip-detail span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.trip-detail strong{color:var(--sea-deep);font-size:1rem}.trip-checklist-link{background:var(--sea-deep);color:#fff;white-space:nowrap;border-radius:999px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .95rem;font-size:.9rem;font-weight:600;transition:transform .2s,background .2s;display:flex}.trip-checklist-link:hover{background:var(--sea);transform:translateY(-1px)}.site-main{flex:1;padding-top:1.5rem;animation:.7s .12s both rise}.site-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:2rem;padding-top:1rem;font-size:.9rem}.page-intro h1{font-family:var(--font-display);color:var(--sea-deep);margin:0 0 .35rem;font-size:clamp(1.8rem,4vw,2.4rem)}.page-intro p{color:var(--muted);max-width:40rem;margin:0}.state-msg{color:var(--muted)}.state-msg.error{color:var(--coral)}.menu-categories{gap:2rem;margin-top:1.75rem;display:grid}.menu-category h2{font-family:var(--font-display);color:var(--sea);margin:0 0 .85rem;font-size:1.35rem}.menu-grid{gap:.85rem;display:grid}.menu-item{border-radius:var(--radius);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb8;padding:1rem 1.1rem;transition:transform .2s,box-shadow .2s}.menu-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.menu-item.is-unavailable{opacity:.55}.menu-item-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.menu-item h3{margin:0;font-size:1.05rem}.menu-price{color:var(--sea-deep);white-space:nowrap;font-weight:600}.menu-desc{color:var(--muted);margin:.4rem 0 0;font-size:.95rem}.menu-badge{color:var(--coral);text-transform:uppercase;letter-spacing:.04em;margin:.5rem 0 0;font-size:.8rem;font-weight:600}.menu-total{border-radius:var(--radius);background:var(--sea-deep);color:#fff;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:0;padding:1rem 1.1rem;font-size:1.1rem;display:flex}.menu-total strong{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.menu-summary{gap:.75rem;margin-top:1.75rem;display:grid}.participants-field{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;gap:.4rem;padding:1rem 1.1rem;font-weight:500;display:grid}.participants-field input{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:10rem;padding:.65rem .75rem}.menu-total-per-person{background:var(--sea)}.check-list{gap:.65rem;margin-top:1.5rem;display:grid}.check-row{border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;background:#ffffffbf;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.95rem 1.05rem;transition:background .2s,border-color .2s,transform .2s;display:grid}.check-row:hover{transform:translateY(-1px)}.check-row.is-secured{background:#2f7d5a1a;border-color:#2f7d5a40}.check-row input{width:1.15rem;height:1.15rem;accent-color:var(--ok)}.check-name{font-weight:500}.check-status{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:600}.check-row.is-secured .check-status{color:var(--ok)}.comment-form{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;gap:.85rem;margin-top:1.5rem;padding:1.15rem;display:grid}.comment-form label{gap:.35rem;font-size:.92rem;font-weight:500;display:grid}.comment-form input,.comment-form textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:.65rem .75rem}.comment-photo-field input[type=file]{background:0 0;border:none;padding:.45rem 0}.comment-preview{justify-items:start;gap:.65rem;display:grid}.comment-preview img{object-fit:cover;border:1px solid var(--line);border-radius:12px;max-width:min(100%,320px);max-height:220px}.comment-list{gap:.9rem;margin-top:1.75rem;display:grid}.comment-card{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;padding:1rem 1.1rem}.comment-card-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem;display:flex}.comment-card-head strong{color:var(--sea-deep)}.comment-card-head time{color:var(--muted);white-space:nowrap;font-size:.85rem}.comment-body{white-space:pre-wrap;margin:0;line-height:1.45}.comment-image{margin-top:.85rem;display:block}.comment-image img{object-fit:cover;border-radius:12px;width:100%;max-height:360px;display:block}.comment-admin-body{white-space:pre-wrap;max-width:22rem}.admin-login .admin-form,.admin-panel{margin-top:1.5rem}.admin-intro{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-tabs{flex-wrap:wrap;gap:.4rem;margin:1.25rem 0;display:flex}.admin-tabs a{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;padding:.45rem .85rem;font-weight:500}.admin-tabs a.active{background:var(--sea);color:#fff;border-color:#0000}.admin-form{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;gap:.85rem;max-width:28rem;padding:1.15rem;display:grid}.admin-form.grid-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.admin-form label{gap:.35rem;font-size:.92rem;font-weight:500;display:grid}.admin-form .span-2{grid-column:1/-1}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:.65rem .75rem}.checkbox-inline{align-items:center;gap:.55rem;margin-top:1.6rem;display:flex!important}.checkbox-inline input{width:auto}.form-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{appearance:none;color:var(--sea-deep);cursor:pointer;background:#0b3d4a14;border:1px solid #0000;border-radius:999px;padding:.6rem 1rem;font-weight:600;transition:transform .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--sea-deep);color:#fff}.btn.ghost{border-color:var(--line);background:0 0}.btn.small{padding:.35rem .7rem;font-size:.85rem}.btn.danger{color:var(--coral);background:#c45c3e1a}.admin-table-wrap{border-radius:var(--radius);border:1px solid var(--line);background:#ffffffc7;margin-top:1.25rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.95rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:.75rem .85rem}.admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.admin-table tr:last-child td{border-bottom:none}.row-actions{white-space:nowrap;justify-content:flex-end;gap:.35rem;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.trip-details{grid-template-columns:1fr}.trip-checklist-link{justify-self:start}.admin-form.grid-form{grid-template-columns:1fr}.admin-form .span-2,.form-actions.span-2{grid-column:auto}.checkbox-inline{margin-top:0}.check-row{grid-template-columns:auto 1fr}.check-status{grid-column:2}}
