/* LookNBooks — trip planner (PLAN) */
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:start}
@media(max-width:860px){.plan-grid{grid-template-columns:1fr}}
.plan-panel{background:#fff;border:1px solid var(--border,#E2E9EC);border-radius:18px;box-shadow:0 10px 30px rgba(7,42,58,.08);padding:1.2rem}
.plan-title-row{display:flex;gap:.6rem;align-items:center;margin-bottom:1rem}
.plan-title-row input{flex:1;border:1px solid var(--border,#E2E9EC);border-radius:12px;padding:.6rem .9rem;font-family:Fraunces,serif;font-weight:700;font-size:1.2rem;color:#10202B;outline:none}
.plan-title-row input:focus{border-color:#0B6FB0}
.day-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.day-tab{border:1px solid var(--border,#E2E9EC);background:#F7FAFB;color:#55636E;border-radius:999px;padding:.4rem .85rem;font-weight:700;font-size:.85rem;cursor:pointer}
.day-tab.on{background:#0B6FB0;color:#fff;border-color:#0B6FB0}
.day-tab.add{background:#fff;color:#0B6FB0;border-style:dashed}
.stop{display:grid;grid-template-columns:28px 1fr auto;gap:.7rem;align-items:center;border:1px solid var(--line-soft,#EDF0F4);border-radius:12px;padding:.7rem .85rem;margin-bottom:.6rem;background:#fff}
.stop .num{width:26px;height:26px;border-radius:50%;background:#0B6FB0;color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.stop.pending .num{background:#57616B}
/* A long unbroken place name used to push the page wider than the viewport. */
.stop h4{margin:0;font-family:Inter,sans-serif;font-size:.98rem;font-weight:700;color:#10202B;overflow-wrap:anywhere;word-break:break-word}
.stop .meta{overflow-wrap:anywhere}
.plan-added{background:#EAF6F6;border:1px solid #BFE0E1;border-radius:12px;padding:.7rem .95rem;margin:.6rem 0 .2rem;font-size:.88rem;color:#0b5257}
.stop .meta{color:#57616B;font-size:.82rem;margin-top:1px}
.stop .ops{display:flex;gap:.2rem}
.stop .ops button{border:none;background:#F2F7F9;color:#55636E;width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:.9rem;line-height:1}
.stop .ops button:hover{background:#E8F3F8;color:#0B6FB0}
.add-stop{display:grid;grid-template-columns:2fr 1fr auto;gap:.5rem;margin-top:.8rem}
@media(max-width:520px){.add-stop{grid-template-columns:1fr}}
.add-stop input{border:1px solid var(--border,#E2E9EC);border-radius:10px;padding:.55rem .8rem;font-size:.92rem;outline:none}
.add-stop input:focus{border-color:#0B6FB0}
.add-stop button{border:none;background:linear-gradient(135deg,#FF7A45,#ec5f27);color:#10202B;font-weight:800;border-radius:10px;padding:.55rem 1rem;cursor:pointer;white-space:nowrap}
.plan-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.plan-btn{border:1px solid var(--border,#E2E9EC);background:#fff;color:#10202B;border-radius:999px;padding:.55rem .95rem;font-weight:700;font-size:.85rem;cursor:pointer;display:inline-flex;gap:.35rem;align-items:center}
.plan-btn:hover{background:#F2F7F9;border-color:#cfe0e7}
.plan-btn.saved{background:#E3F5EA;border-color:#bfe6cd;color:#1c7a45}
#plan-map{width:100%;height:460px;border-radius:16px;border:1px solid var(--border,#E2E9EC);z-index:0}
@media(max-width:860px){#plan-map{height:320px}}
.plan-empty{color:#57616B;font-size:.92rem;text-align:center;padding:1.4rem 0}
.plan-hint{font-size:.82rem;color:#57616B;margin:.6rem 0 0}
.leaflet-marker-num{background:#0B6FB0;color:#fff;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
