.kankou-mypage{display:flex;flex-direction:column;gap:16px;padding:12px 16px 32px;}
.kankou-mypage-section{background:var(--kankou-card-bg,#fff);border:1px solid var(--kankou-border,#e8e1f2);border-radius:16px;padding:16px;box-shadow:0 2px 8px color-mix(in srgb, var(--kankou-main,#7E57C2) 8%, transparent);}
.kankou-mypage-intro{background:var(--kankou-sub,#F6F0FF);border:none;}
.kankou-mypage-lead{margin:0;font-size:13px;line-height:1.6;color:var(--kankou-text,#241b32);}
.kankou-mypage-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.kankou-mypage-section-head h2{margin:0;font-size:16px;font-weight:700;color:var(--kankou-text,#241b32);}
.kankou-mypage-note{margin:0 0 12px;font-size:12.5px;color:#6b6178;line-height:1.6;}
.kankou-mypage-loading,.kankou-mypage-empty{font-size:13px;color:#8a8093;text-align:center;padding:20px 8px;line-height:1.7;}
.kankou-mypage-warning{font-size:12.5px;color:#a5590a;background:#fff4e5;border-radius:8px;padding:8px 10px;margin:0 0 10px;}

.kankou-mypage-btn-text{background:none;border:none;color:var(--kankou-main,#7E57C2);font-size:12.5px;font-weight:600;cursor:pointer;padding:4px 6px;}
.kankou-mypage-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--kankou-main,#7E57C2);color:#fff;border:none;border-radius:999px;padding:10px 18px;font-size:13.5px;font-weight:700;cursor:pointer;text-decoration:none;}
.kankou-mypage-btn-primary:active{opacity:0.85;}
.kankou-mypage-btn-add{background:var(--kankou-sub,#F6F0FF);color:var(--kankou-main,#7E57C2);border:1px solid var(--kankou-main,#7E57C2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;align-self:flex-start;}

.kankou-mypage-favorites-list{display:flex;flex-direction:column;gap:10px;}
.kankou-mypage-fav-card{display:flex;gap:10px;align-items:stretch;border:1px solid var(--kankou-border,#e8e1f2);border-radius:12px;padding:8px;background:#fdfcff;}
.kankou-mypage-fav-missing{opacity:0.7;}
.kankou-mypage-fav-image{flex:0 0 72px;width:72px;height:72px;border-radius:10px;overflow:hidden;background:var(--kankou-sub,#F6F0FF);display:block;}
.kankou-mypage-fav-image img{width:100%;height:100%;object-fit:cover;display:block;}
.kankou-mypage-fav-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center;}
.kankou-mypage-fav-title{margin:0;font-size:13.5px;font-weight:700;color:var(--kankou-text,#241b32);line-height:1.4;}
.kankou-mypage-fav-title-link{text-decoration:none;}
.kankou-mypage-fav-meta{margin:0;font-size:11.5px;color:#8a8093;line-height:1.4;}
.kankou-mypage-fav-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;justify-content:center;}
.kankou-mypage-icon-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--kankou-border,#e8e1f2);background:#fff;color:#6b6178;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.kankou-mypage-icon-btn:disabled{opacity:0.3;cursor:default;}
.kankou-mypage-icon-btn[data-kankou-favorite-remove]{color:#c0392b;border-color:#f0d5d0;}

.kankou-mypage-route-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;}
.kankou-mypage-route-start-label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:#6b6178;font-weight:600;flex:1;min-width:150px;}
.kankou-mypage-route-start-label select{padding:8px 10px;border-radius:8px;border:1px solid var(--kankou-border,#e8e1f2);font-size:13px;background:#fff;color:var(--kankou-text,#241b32);}
.kankou-mypage-route-result{margin-top:4px;}
.kankou-mypage-route-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:0;}
.kankou-mypage-route-start{font-size:13px;font-weight:700;color:var(--kankou-main,#7E57C2);padding:6px 0;}
.kankou-mypage-route-stop{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px dashed var(--kankou-border,#e8e1f2);}
.kankou-mypage-route-num{flex:0 0 22px;height:22px;border-radius:50%;background:var(--kankou-main,#7E57C2);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.kankou-mypage-route-name{flex:1;font-size:13px;font-weight:600;}
.kankou-mypage-route-name a{color:var(--kankou-text,#241b32);text-decoration:none;}
.kankou-mypage-route-leg{flex:0 0 auto;font-size:11.5px;color:#8a8093;}
.kankou-mypage-route-total{margin:8px 0 12px;font-size:12.5px;font-weight:700;color:var(--kankou-text,#241b32);}
.kankou-mypage-route-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.kankou-mypage-maps-btn{white-space:nowrap;}

.kankou-mypage-suggest-list{display:flex;flex-direction:column;gap:10px;}
.kankou-mypage-suggest-card{display:flex;gap:10px;align-items:center;border:1px solid var(--kankou-border,#e8e1f2);border-radius:12px;padding:8px;background:#fdfcff;}
.kankou-mypage-suggest-card .kankou-mypage-fav-body{flex:1;}

.kankou-genre-badge-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:2px;}
.kankou-genre-badge{font-size:10px;font-weight:700;color:var(--kankou-main,#7E57C2);background:var(--kankou-sub,#F6F0FF);border-radius:999px;padding:2px 8px;}

@media (min-width:600px){
  .kankou-mypage-fav-card,.kankou-mypage-suggest-card{align-items:center;}
}
