/* CruiseCrew port guide */
.port-header{margin:14px 0 17px}
.port-header p{color:var(--muted)}
.port-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;margin:14px 0}
.port-grid .card{margin:0;min-width:0}
.port-tile{display:block;text-align:left;width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:17px;color:var(--text);box-shadow:var(--shadow)}
.port-tile:hover{border-color:#a6cafa;background:#f8fbff}
.port-tile strong{display:block;font-size:16px;overflow-wrap:anywhere}
.port-tile small{display:block;color:var(--muted);margin-top:5px}
.port-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.port-head .btn{flex:none}
.port-tabs{display:flex;gap:8px;overflow-x:auto;padding:5px 0 12px;scrollbar-width:thin}
.port-tabs button{white-space:nowrap;flex:none;border:1px solid var(--line);border-radius:30px;padding:9px 14px;background:#fff;color:var(--text);font-weight:650}
.port-tabs button.active{background:var(--blue);color:white;border-color:var(--blue)}
.port-place{display:flex;flex-direction:column;gap:9px;overflow-wrap:anywhere}
.port-place p{white-space:pre-wrap;flex:1}
.port-stars{color:#986711;font-size:14px;font-weight:750}
.port-tip{white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--line);padding:12px 0}
.port-tip:last-child{padding-bottom:0}
.port-tip .row{flex-wrap:wrap}
.port-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.port-form-actions .btn{width:auto}
.port-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.port-schedule-row:first-child{border-top:0}
.port-schedule-row b{display:block}
.port-schedule-row small{color:var(--muted)}
#portPlaceDetail .port-tip{margin-top:8px}
#portPlaceDetail[hidden],#portAddForm[hidden],#portPlaceForm[hidden],#portCallForm[hidden]{display:none}
@media(max-width:600px){.port-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.port-tile{padding:13px}.port-grid .card{padding:13px}}
@media(max-width:430px){.port-grid{grid-template-columns:1fr}}
