:root{--navy:#122d4f;--blue:#0e7898;--sky:#dff3f8;--pink:#d42d73;--sand:#f5c64f;--ink:#17304d;--muted:#64758a;--white:#fff;--line:#dbe5eb;--shadow:0 18px 45px rgba(20,55,80,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.55 Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);position:relative;z-index:5}.brand{font-weight:900;font-size:21px;letter-spacing:-.5px}.brand span{color:var(--pink)}nav{display:flex;align-items:center;gap:32px;font-weight:700;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:3px;background:var(--pink);color:#fff;padding:14px 23px;font-weight:800;cursor:pointer}.button:hover{background:#b91f60}.button-small{padding:9px 16px}.button-full{width:100%;font-size:16px}.hero{min-height:650px;margin-top:-82px;padding:150px max(7vw,32px) 80px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:linear-gradient(112deg,#eaf8fb 0 58%,#81cee5 58%);overflow:hidden}.hero h1{font-size:clamp(52px,7vw,100px);line-height:.94;letter-spacing:-5px;margin:12px 0 30px}.hero h1 em{color:var(--pink);font-style:normal}.hero>div>p:not(.eyebrow){max-width:580px;font-size:19px;color:var(--muted);margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:2.2px;color:var(--pink);font-size:12px;font-weight:900}.hero-art{margin:auto;width:min(360px,80%);aspect-ratio:1;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;box-shadow:30px 30px 0 rgba(255,255,255,.45);transform:rotate(-5deg)}.hero-art span{font-size:100px;font-weight:900;line-height:1}.hero-art p{font-weight:800}.intro,.fleet{padding:90px max(5vw,24px)}.intro{text-align:center}.intro h2,.fleet h2{font-size:clamp(34px,4vw,56px);line-height:1.05;margin:8px 0 40px;letter-spacing:-2px}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:auto;border-top:1px solid var(--line)}.steps div{padding:42px 30px}.steps div+div{border-left:1px solid var(--line)}.steps b{color:var(--pink);font-size:14px}.steps h3{font-size:21px;margin:10px 0 3px}.steps p{color:var(--muted);margin:0}.fleet{background:#eef8fa}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading>p{text-align:right;color:var(--muted)}.boat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.boat-card{background:#fff;box-shadow:0 8px 20px rgba(20,55,80,.08);transition:.2s}.boat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.boat-photo{height:220px;position:relative;overflow:hidden}.boat-photo img{width:100%;height:100%;object-fit:cover;transition:.35s}.boat-card:hover img{transform:scale(1.03)}.boat-photo span{position:absolute;left:0;top:15px;background:var(--pink);color:#fff;font-weight:800;padding:8px 18px}.boat-info{padding:19px}.boat-info>p{min-height:50px;color:var(--muted);font-size:14px}.boat-specs{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;font-weight:700;color:var(--navy);padding-bottom:18px;border-bottom:1px solid var(--line)}.card-footer{padding-top:17px;display:flex;align-items:end;justify-content:space-between}.card-footer small{display:block;color:var(--muted);font-size:11px}.card-footer strong{font-size:22px;color:var(--pink)}.card-footer>b{font-size:12px}.boat-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,.65fr);gap:65px;padding:65px max(6vw,30px);background:#f4fafb}.detail-copy{max-width:850px}.back-link{font-size:13px;font-weight:700;color:var(--blue)}.detail-copy h1{font-size:clamp(48px,7vw,90px);line-height:1;margin:8px 0 20px;letter-spacing:-4px}.lead{font-size:22px;font-weight:700}.detail-copy>p:not(.eyebrow,.lead){color:var(--muted)}.spec-grid{display:grid;grid-template-columns:1fr 1fr;margin:32px 0;background:#fff}.spec-grid div{padding:20px;border:1px solid var(--line);margin:-1px 0 0 -1px}.spec-grid span{display:block;color:var(--muted);font-size:12px}.spec-grid strong{font-size:14px}.detail-image{width:100%;height:420px;object-fit:cover}.booking-card{background:#fff;padding:32px;box-shadow:var(--shadow);align-self:start;position:sticky;top:24px}.booking-card h2{font-size:30px;margin:5px 0 25px}.booking-card label,.booking-card legend{font-size:13px;font-weight:800}.booking-card input:not([type=radio],[type=checkbox]),.booking-card textarea,.admin input:not([type=checkbox]),.admin textarea,.admin select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:3px;font:inherit}.booking-card fieldset{border:0;padding:0;margin:18px 0}.period-list{display:grid;gap:8px;margin-top:7px}.period-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;cursor:pointer}.period-option:has(input:checked){border-color:var(--pink);background:#fff5f9}.period-option span{flex:1}.period-option small{display:block;color:var(--muted);font-weight:400}.period-option b{color:var(--pink)}.period-option.is-unavailable{opacity:.4;text-decoration:line-through;cursor:not-allowed}.period-option.is-loading{opacity:.55}.availability-hint,.fine-print{font-size:12px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.check{display:flex!important;align-items:center;gap:8px;margin:15px 0}.check input{width:auto}.success-panel{min-height:650px;text-align:center;padding:100px 20px;background:#eaf8fb}.success-icon{display:grid;place-items:center;width:80px;height:80px;margin:auto;border-radius:50%;background:#35a46c;color:white;font-size:40px}.success-panel h1{font-size:50px;margin:10px}.alert{max-width:1000px;margin:20px auto;padding:14px 18px;border-radius:4px}.alert-error{background:#fff0f3;color:#9d174d}.alert-success{background:#e7f8ee;color:#166534}footer{padding:35px max(5vw,24px);background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:13px}
.booking-date-field{margin-bottom:18px}.booking-date-label{display:block;margin-bottom:7px;font-size:13px;font-weight:700}.booking-calendar{border:1px solid var(--line);background:#fff;padding:14px}.calendar-header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:13px}.calendar-header strong{text-align:center;text-transform:capitalize}.calendar-nav{width:38px;height:38px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--navy);font-size:25px;line-height:1;cursor:pointer}.calendar-nav:hover:not(:disabled){border-color:var(--blue);background:var(--sky)}.calendar-nav:disabled{color:#aab5bd;cursor:not-allowed}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800;text-align:center;text-transform:uppercase}.calendar-weekdays span{padding:3px 0}.calendar-day{aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:3px;font:700 13px/1 Arial,sans-serif;cursor:pointer}.calendar-day.is-available{background:#dff6e9;border-color:#9ed7b7;color:#17643a}.calendar-day.is-available:hover{background:#c5edd6;border-color:#4cab75}.calendar-day.is-unavailable{background:#fde3e5;border-color:#efb6bb;color:#9b2732;cursor:not-allowed}.calendar-day.is-past{background:#f3f5f6;color:#a6b0b7;cursor:not-allowed}.calendar-day.is-selected{outline:3px solid var(--navy);outline-offset:1px;background:#bce8ce}.calendar-loading,.calendar-error{grid-column:1/-1;display:grid;min-height:190px;place-items:center;color:var(--muted);font-size:13px}.calendar-error{color:#9b2732}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:2px}.calendar-legend .is-available{background:#62bc87}.calendar-legend .is-unavailable{background:#df6b75}

.calendar-day.is-half-day{background:#fff1b8;border-color:#e6c75f;color:#715600}.calendar-day.is-half-day:hover{background:#ffe88d;border-color:#cba82f}.calendar-legend .is-half-day{background:#e3bd38}.badge.pending{background:#fff1b8;color:#715600}.reservation-tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--line)}.reservation-tabs a{padding:11px 18px;border-bottom:3px solid transparent;color:var(--muted);font-weight:800}.reservation-tabs a:hover{color:var(--navy)}.reservation-tabs a.active{border-bottom-color:var(--pink);color:var(--navy)}.reservation-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(145px,1fr));gap:14px;align-items:end}.reservation-filters label{font-size:12px;font-weight:700}.reservation-filters .filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px}.reservation-filters .filter-actions a{color:var(--pink);font-weight:700}

@media(max-width:1050px){.reservation-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-filters .search-filter{grid-column:1/-1}}@media(max-width:720px){.reservation-filters{grid-template-columns:1fr}.reservation-filters .search-filter{grid-column:auto}}

.stat{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.stat-copy{min-width:0}.mini-chart{height:42px;min-width:72px;display:flex;align-items:flex-end;justify-content:flex-end;gap:3px;border-bottom:1px solid var(--line)}.mini-chart i{display:block;flex:1;max-width:9px;min-width:4px;background:var(--blue);border-radius:2px 2px 0 0}.stat:nth-child(2) .mini-chart i{background:var(--pink)}.stat:nth-child(3) .mini-chart i{background:#49a96f}.stat:nth-child(4) .mini-chart i{background:#e3bd38}

/* Backoffice */
.admin{background:#f3f6f8}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{background:var(--navy);color:#fff;padding:28px 20px}.admin-sidebar .brand{display:block;margin-bottom:40px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav a{padding:11px 12px;border-radius:4px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:rgba(255,255,255,.12)}.admin-content{padding:35px 45px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin h1{margin:0;font-size:34px}.panel{background:#fff;padding:24px;box-shadow:0 4px 16px rgba(30,55,75,.07);margin-bottom:22px;overflow:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stat{background:#fff;padding:22px;border-left:4px solid var(--pink)}.stat b{display:block;font-size:32px}.stat span{color:var(--muted);font-size:13px}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;font-size:14px}.data-table th{color:var(--muted);font-size:11px;text-transform:uppercase}.badge{display:inline-block;border-radius:20px;background:#dff6e9;color:#19633a;padding:3px 9px;font-size:11px;font-weight:700}.badge.cancelled{background:#eee;color:#666}.actions{display:flex;gap:8px}.link-button{border:0;background:none;color:var(--pink);font-weight:700;cursor:pointer;padding:0}.admin-form{max-width:950px}.admin-form .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-form label{display:block;margin-bottom:17px;font-size:13px;font-weight:700}.admin-form .check{display:flex}.admin-form button{margin-top:8px}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue))}.login-card{background:#fff;width:min(420px,calc(100% - 32px));padding:38px;box-shadow:var(--shadow)}.login-card h1{margin:20px 0 8px}.login-card .button{margin-top:12px}.filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filter-bar label{margin:0}.danger-note{padding:12px;background:#fff3cd;color:#765b00;font-size:13px}.login-card input{display:block;width:100%;padding:12px;margin:6px 0 16px;border:1px solid var(--line)}
@media(max-width:1050px){.boat-grid{grid-template-columns:repeat(2,1fr)}.boat-detail{grid-template-columns:1fr}.booking-card{position:static}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.site-header{height:68px}.site-header nav a:not(.button){display:none}.hero{margin-top:-68px;min-height:720px;padding-top:110px;grid-template-columns:1fr;background:linear-gradient(#eaf8fb 0 65%,#81cee5 65%)}.hero h1{font-size:58px;letter-spacing:-3px}.hero-art{width:230px}.hero-art span{font-size:68px}.intro,.fleet{padding:65px 18px}.steps{grid-template-columns:1fr}.steps div+div{border-left:0;border-top:1px solid var(--line)}.section-heading{display:block}.section-heading>p{text-align:left}.boat-grid{grid-template-columns:1fr}.boat-photo{height:235px}.boat-detail{padding:35px 16px;gap:25px}.detail-copy h1{font-size:52px}.detail-image{height:260px}.booking-card{padding:23px}.form-row,.spec-grid{grid-template-columns:1fr}.success-panel h1{font-size:36px}footer{display:grid;gap:12px}.admin-shell{display:block}.admin-sidebar{padding:18px}.admin-sidebar .brand{margin-bottom:15px}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar nav a{white-space:nowrap}.admin-content{padding:24px 14px}.stats{grid-template-columns:1fr 1fr}.admin-form .grid-2{grid-template-columns:1fr}}
.pagination{justify-content:center;gap:18px;margin-top:22px}.pagination a{color:var(--pink);font-weight:800}.pagination span{color:var(--muted);font-size:14px}
