:root{--gs-navy:#0b3a2e;--gs-blue:#1c8c63;--gs-orange:#f58220;--gs-green:#1f9d55;--gs-red:#d62839;--gs-line:#e3e8dc;--gs-muted:#5d6b60}
.gs-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;font-weight:700;background:var(--gs-navy);color:#fff;border:0;cursor:pointer;text-decoration:none;font-size:.92rem}
.gs-btn-o{background:linear-gradient(135deg,#ffb000,var(--gs-orange));color:#2a1700}.gs-btn-g{background:linear-gradient(135deg,#25c16f,#128c4a);color:#fff}
.gs-cards{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:18px;margin:18px 0}
.gs-cards.gs-scroll{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}.gs-cards.gs-scroll>*{flex:0 0 280px;scroll-snap-align:start}
.gs-card-i{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gs-line);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(11,58,46,.08);color:inherit;text-decoration:none;transition:transform .2s}
a.gs-card-i:hover{transform:translateY(-3px)}.gs-ph{display:block;aspect-ratio:16/10;background:#dfe8f6;overflow:hidden}.gs-ph img{width:100%;height:100%;object-fit:cover;display:block}
.gs-cb{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.gs-cb b{color:var(--gs-navy);font-size:1.02rem;line-height:1.3}.gs-cb small{color:var(--gs-muted)}.gs-pr{margin-top:6px;color:var(--gs-muted)}.gs-pr b{color:var(--gs-orange);font-size:1.15rem}
@media(max-width:900px){.gs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gs-cards:not(.gs-scroll){grid-template-columns:1fr}}
/* reviews */
.gs-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.gs-rev{margin:0;background:#fff;border:1px solid var(--gs-line);border-radius:16px;padding:16px;box-shadow:0 4px 14px rgba(11,58,46,.07)}
.gs-rv-h{display:flex;gap:10px;align-items:center}.gs-av{width:40px;height:40px;border-radius:50%;background:var(--gs-blue);color:#fff;display:grid;place-items:center;font-weight:800}.gs-rv-h small{display:block;color:var(--gs-muted)}
.gs-stars{color:#f5a300;margin:8px 0;letter-spacing:1px}.gs-stars time{color:var(--gs-muted);font-size:.8rem;margin-left:6px;letter-spacing:0}.gs-rev blockquote{margin:0;color:#2b3547;font-size:.95rem}
/* booking widget */
.gs-book{background:#fff;border:1px solid var(--gs-line);border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(11,58,46,.12)}.gs-book h3{margin:0 0 10px;color:var(--gs-navy)}
.gs-form label{display:block;font-weight:700;font-size:.82rem;color:var(--gs-navy);margin:10px 0 0}.gs-form input:not([type=checkbox]):not([type=radio]),.gs-form select,.gs-form textarea{width:100%;padding:10px 12px;border:2px solid var(--gs-line);border-radius:12px;font:inherit;background:#fff;margin-top:4px}
.gs-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.gs-step{display:flex;align-items:center;gap:6px;margin-top:4px}.gs-step input{text-align:center;margin:0!important;max-width:64px}.gs-step button{width:36px;height:40px;border-radius:10px;border:2px solid var(--gs-line);background:#f6f3ea;font-size:1.2rem;font-weight:800;cursor:pointer}
.gs-chk{display:flex!important;gap:8px;align-items:flex-start;font-weight:600!important}.gs-chk input{margin-top:4px}.gs-radio{display:flex;gap:16px;margin:10px 0}.gs-radio label{margin:0}
.gs-hint{color:var(--gs-muted);font-size:.82rem;margin:6px 0}.gs-room{border:1px dashed #b9c6dd;border-radius:12px;padding:10px;margin:10px 0}.gs-rm{background:none;border:0;color:var(--gs-red);font-weight:700;cursor:pointer}
.gs-quote{margin:14px 0;background:#f6f3ea;border-radius:12px;padding:10px 12px}.gs-qt{width:100%;border-collapse:collapse}.gs-qt td{padding:5px 0;font-size:.88rem;border-bottom:1px solid #e3e8dc}.gs-qt td:last-child{text-align:right;white-space:nowrap;font-weight:700}.gs-tot td{font-size:1.1rem;color:var(--gs-navy);border:0}
.gs-err{color:var(--gs-red);font-weight:700;font-size:.9rem}.gs-ok{color:var(--gs-green);font-weight:700}.gs-msg{margin-top:10px}.gs-submit{width:100%;justify-content:center;margin-top:12px;padding:13px}.gs-wa{width:100%;justify-content:center;margin-top:10px}
.gs-hp{position:absolute!important;left:-9999px!important}.gs-guest h4{margin:14px 0 0;color:var(--gs-navy)}
/* schedules */
.gs-sched-bar{margin:0 0 12px}.gs-sched-bar input{padding:8px 10px;border:2px solid var(--gs-line);border-radius:10px}
.gs-sched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.gs-sched{background:#fff;border:1px solid var(--gs-line);border-radius:16px;padding:14px 16px;box-shadow:0 4px 14px rgba(11,58,46,.07)}
.gs-sched header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.gs-sched h3{margin:0;font-size:1.02rem;color:var(--gs-navy)}.gs-route{color:var(--gs-muted);margin:4px 0;font-weight:600}
.gs-tt{width:100%;border-collapse:collapse;font-size:.9rem}.gs-tt th,.gs-tt td{padding:6px 8px;border-bottom:1px solid var(--gs-line);text-align:left}.gs-tt th{background:#f6f3ea;color:var(--gs-navy)}
.gs-st{padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:800;color:#fff;background:var(--gs-green);white-space:nowrap}.gs-st-delayed{background:#e8a200}.gs-st-suspended,.gs-st-cancelled{background:var(--gs-red)}
.gs-src{display:inline-block;padding:2px 8px;border-radius:8px;font-size:.72rem;font-weight:800;background:#eef4ff;color:var(--gs-navy)}.gs-src-official{background:#e3f7ea;color:#146c3a}.gs-src-operator{background:#fff4e0;color:#8a4b00}
.gs-sched footer{margin-top:10px;font-size:.8rem;color:var(--gs-muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gs-meta,.gs-note{font-size:.84rem;color:var(--gs-muted);margin:6px 0}.gs-disclaimer{font-size:.82rem;color:var(--gs-muted);background:#f6f3ea;border-radius:10px;padding:10px 12px;margin-top:14px}
.gs-empty{color:var(--gs-muted);background:#f6f3ea;padding:14px;border-radius:12px}.gs-alerts{display:grid;gap:10px;margin:0 0 14px}.gs-alert{border-left:5px solid var(--gs-blue);background:#eef4ff;border-radius:10px;padding:10px 14px}.gs-alert p{margin:4px 0}.gs-alert small{color:var(--gs-muted)}
.gs-alert-warning{border-color:#e8a200;background:#fff7e0}.gs-alert-critical{border-color:var(--gs-red);background:#ffe9ec}
.gs-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.gs-chips b{background:#eef4ff;border:1px solid #c9d8f2;border-radius:10px;padding:6px 10px;color:var(--gs-navy)}.gs-chips b.past{opacity:.45;text-decoration:line-through}.gs-chips b.nx{background:var(--gs-orange);border-color:var(--gs-orange);color:#fff}
.gs-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}.gs-meta-row span{background:#fff;border:1px solid var(--gs-line);border-radius:12px;padding:8px 12px;font-weight:800;color:var(--gs-navy)}.gs-meta-row .gs-tide{background:#e6f6ff;border-color:#bfe3ff;color:#0b4a80}
.gs-poster{max-width:560px;margin:20px auto;text-align:center}.gs-poster img{width:100%;height:auto;border-radius:16px;box-shadow:0 8px 28px rgba(11,58,46,.15);background:#fff}.gs-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:12px}
.gs-tabs button{padding:9px 16px;border-radius:12px;font-weight:800;background:#fff;border:2px solid var(--gs-line);color:var(--gs-navy);cursor:pointer}.gs-tabs button.on{background:var(--gs-navy);color:#fff;border-color:var(--gs-navy)}.gs-act{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}
/* weather */
.gs-wx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.gs-wx{background:linear-gradient(160deg,#eaf3ff,#fff);border:1px solid var(--gs-line);border-radius:16px;padding:14px}.gs-wx h4{margin:0 0 6px;color:var(--gs-navy)}.gs-wx-now{display:flex;align-items:center;gap:10px;font-size:1.8rem}.gs-wx ul{list-style:none;margin:8px 0 0;padding:0;font-size:.85rem;color:var(--gs-muted)}
.gs-wx-days{display:flex;gap:6px;overflow-x:auto;margin-top:10px}.gs-wx-days span{display:flex;flex-direction:column;align-items:center;min-width:48px;font-size:.8rem}.gs-attr{font-size:.78rem;color:var(--gs-muted);margin-top:10px}
/* account */
.gs-acct .gs-stats{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.gs-stats div{background:#fff;border:1px solid var(--gs-line);border-radius:12px;padding:12px 18px}.gs-stats b{display:block;font-size:1.4rem;color:var(--gs-navy)}.gs-tablewrap{overflow-x:auto}

.gs-wx-link{background:#fff;border:1px solid #e3e8dc;border-radius:14px;padding:22px;text-align:center}.gs-wx-link p{margin:0 0 12px;font-weight:600;color:#0b3a2e}.gs-wx-link .gs-btn{display:inline-block;background:#1c8c63;color:#fff;padding:10px 20px;border-radius:999px;font-weight:700;text-decoration:none}
.gs-windy{margin-top:14px;text-align:center}.gs-windy .gs-btn{background:#0b3a2e;color:#fff;border:0;padding:11px 20px;border-radius:999px;font-weight:700;cursor:pointer}.gs-windy small{display:block;margin-top:6px;color:#5d6b60}
/* booking widget inside the theme's sidebar form box */
.p-form .gs-book{border:0;box-shadow:none;padding:0;border-radius:0;background:transparent}.p-form .gs-book>h3{display:none}
.p-form .gs-chk{display:flex!important;gap:8px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:.88rem!important;font-weight:600}
.p-form .gs-chk input[type=checkbox],.p-form .gs-chk input[type=radio]{width:auto!important;flex:0 0 auto;margin-top:3px}
.p-form .gs-radio{display:flex;gap:14px;flex-wrap:wrap}.p-form .gs-radio label{display:flex!important;gap:6px;text-transform:none;letter-spacing:0;width:auto}.p-form .gs-radio input{width:auto!important}
.p-form .gs-wa-enq{margin-top:10px;display:block;text-align:center}
