/* Inter, self-hosted (assets/fonts/inter, OFL). Latin covers Icelandic þ ð æ ö á. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap; src: url('/assets/fonts/inter/inter-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/inter/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/inter/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/inter/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/inter/inter-latin-700-normal.woff2') format('woff2'); }

body {
    font-family: 'Inter', sans-serif;
    background-color: #F5F5F4;
    color: #1C1917;
}
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #E7E5E4;
}
::-webkit-scrollbar-thumb {
    background: #A8A29E;
    border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
    background: #78716C;
}

/* Drag & Drop Visuals */
.dragging {
    opacity: 0.4;
    border-style: dashed;
    border-color: #2A485C;
}

/* Leaflet map sizing & marker styling */
.leaflet-container { background: #E0EBF0; font-family: 'Inter', sans-serif; }
.trip-pin {
    display: flex; align-items: center; justify-content: center;
    border-radius: 9999px; border: 1.5px solid #F5F5F4;
    color: #F5F5F4; font-size: 10px; font-weight: 700;
    box-shadow: 0 1px 3px rgba(0,0,0,0.35);
}

/* Type-ahead suggestion dropdown (Photon geocoder) */
.geo-suggest {
    position: absolute; z-index: 60; left: 0; right: 0; top: 100%;
    background: #fff; border: 1px solid #E7E5E4; border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(28,25,23,0.12); margin-top: 4px;
    max-height: 220px; overflow-y: auto;
}
.geo-suggest button {
    display: block; width: 100%; text-align: left; padding: 7px 10px;
    font-size: 11px; color: #1C1917; border-bottom: 1px solid #F5F5F4;
}
.geo-suggest button:hover { background: #F5F5F4; }
.geo-suggest button .sub { display: block; font-size: 10px; color: #A8A29E; margin-top: 1px; }

/* Notebook pad: faint ruled lines that scroll with the text */
.note-pad {
    line-height: 1.75rem;
    background-image: linear-gradient(to bottom, transparent calc(1.75rem - 1px), #F1EFEE calc(1.75rem - 1px));
    background-size: 100% 1.75rem;
    background-attachment: local;
    background-position: 0 1rem;
    tab-size: 4;
}

/* Touch screens have no hover: show the per-item delete buttons that are
   otherwise revealed on mouse-over. */
@media (hover: none) {
    .touch-show { opacity: 1 !important; }
}
/* SortableJS ghost/chosen states */
.sortable-chosen { box-shadow: 0 6px 18px rgba(28,25,23,0.15); }
